ARCHITECTURE
성능 아키텍처: 루프라인과 메모리 예산
파이프라인이나 메모리 구조를 정하기 전에 워크로드 연산량과 데이터 이동량으로 성능 상한을 정합니다. 이는 범용 설계 지침이며 상용 칩의 비공개 구현 설명이 아닙니다.입력
- 대표 워크로드와 서비스 수준 목표
- 연산 구성, 텐서/패킷 형상, 재사용 기회
- 메모리 계층별 후보 연산율과 대역폭/지연 예산
작업
- 각 경계의 유효 연산과 바이트를 세고 워크로드 단계별 산술 집약도(ops/bytes)를 정의합니다.
- min(연산 피크, 집약도 × 지속 대역폭)으로 낙관적 상한을 세우고 가정과 측정값을 분리해 기록합니다.
- 외부 메모리부터 공유 버퍼와 레지스터까지 데이터 수명을 추적하고 모든 재사용 주장에 용량·포트·재충전 시간을 예산화합니다.
- 대역폭 제한 단계는 연산 유닛을 늘리기 전에 지역성·레이아웃·배칭·압축을 개선하고 바이트 수를 다시 계산합니다.
- 연산 제한 단계는 의존성·불균형·정밀도·제어 오버헤드의 활용률 손실을 점검하고 가장 위험한 가정을 시제품으로 검증합니다.
산출물
- 가정된 상한을 포함한 워크로드-루프라인 표
- 계층별 메모리 트래픽 및 재사용 원장
- 민감도 범위를 포함한 아키텍처 결정 기록
주의할 점
- 피크 대역폭을 지속 대역폭으로 보거나 캐시 히트를 공짜로 계산하는 오류.
- 큐잉·전송·종단간 지연을 무시하고 커널 수준 상한만 최적화하는 오류.
원문 출처
Accelerating HPC Applications with NVIDIA Nsight Compute Roofline Analysis ↗
NVIDIA Developer · Introducing hierarchical roofline analysis