14 / 20 · 개념
대역폭과 유용한 처리율
피크 MAC 수와 채움·비움·패딩·메모리 비용을 분리합니다.
내용은 무료로 볼 수 있습니다. 수강 신청하면 학습 기록을 저장할 수 있어요.
측정할 구간과 단위를 정하기
N×N 배열의 피크는 advance 한 번에 N² MAC입니다. 실제 독립 작업에는 채움과 비움이 있어 모든 PE가 매 에지 계산하지 않습니다. 무정지, 전체 크기 타일, 이 과정의 1에지 전달 모델에서 유효 MAC 수는 N²K이고 슬롯 수는 N²(K+2N−2)입니다. 계산 구간 활용률은 K/(K+2N−2)입니다. 메모리 로드와 출력 대기는 이 활용률에 들어 있지 않습니다.
N=4, K=16이면 256 MAC을 22개 advance 에지에서 계산합니다. 16 PE×22에지=352슬롯 중 256개를 쓰므로 활용률은 8/11, 약 72.73%입니다. f=100MHz일 때 피크는 1.6 GMAC/s이고, 이 독립 작업 계산 구간 평균은 256/22×100MHz로 약 1.164 GMAC/s입니다. MAC을 2개의 산술 연산으로 세면 수치가 두 배가 되므로 단위를 표시합니다. 이 값은 실제 합성 주파수 측정이 아니라 가정한 f에서의 산술 추정입니다.
경계 공급과 외부 메모리
한 N×N 타일에 경계로 넣는 입력 원소는 A의 NK개와 B의 KN개, 합계 2NK개입니다. N=4, K=16, 8비트 입력이면 128바이트입니다. PE가 소비하는 피연산자는 2N²K=512개이므로 경계에서 들어온 각 값이 평균 4개의 PE에 재사용됩니다. 스큐가 겹치는 중앙 구간에는 최대 2N=8개 입력을 에지마다 공급해야 하므로 경계의 피크 공급 요구는 8바이트/에지, 100MHz에서 0.8GB/s입니다. 피크와 전체 구간 평균을 혼동하지 않습니다.
결과 16개를 메모리에서 각 32비트로 저장한다고 별도 가정합니다. 실제 누산 폭 AW=20이어도 저장 슬롯을 32비트로 잡을 수 있습니다. 결과 쓰기는 64바이트이므로 외부 전송 합은 192바이트입니다. 입력을 다른 타일에서 재사용하지 않고, 명령과 정렬 오버헤드가 없을 때 연산 집약도는 256/192=4/3 MAC/바이트입니다. 다른 데이터 재사용이나 압축을 도입하면 이 값도 다시 계산해야 합니다.
메모리가 만드는 상한
외부 전송 대역폭이 0.4GB/s이면 데이터 이동에 최소 192/0.4GB/s=480ns가 필요합니다. 계산 자체는 22/100MHz=220ns입니다. 완전하게 겹칠 수 있다고 가정해도 전체 작업은 더 긴 480ns보다 짧을 수 없고, 처리율 상한은 약 0.533 GMAC/s입니다. 이것은 보장 성능이 아니라 대역폭 기반 상한입니다.
겹치지 않고 로드→계산→저장하면 100MHz에서 외부 인터페이스는 4바이트/에지이므로 입력 로드 32개, 계산 22개, 결과 저장 16개, 합계 70개 에지입니다. 초기화와 추가 대기는 제외이며 작업 처리율은 약 0.366 GMAC/s입니다. 결과 버퍼와 이중 입력 버퍼로 겹침을 늘릴 수 있지만 저장 포트·DMA 제약도 충족해야 합니다.
패딩이 있는 앞 3×3·N=2 예제는 80 PE슬롯에서 유용한 27 MAC을 하므로 유용한 활용률은 33.75%입니다. 패딩 0을 포함한 실행 MAC 48개로 계산하면 60%지만 제품에 유용한 작업량은 다릅니다. Jouppi 등의 TPU 논문은 실제 가속기의 피크와 워크로드 성능을 구별하는 연구 참고 자료입니다. 여기의 숫자는 우리 스케줄에서 직접 유도한 예제이며 TPU 성능 수치가 아닙니다.
직접 생각해 보기
N=2, K=8의 전체 타일은 몇 MAC을 몇 계산 에지에 수행하며 활용률은 얼마인가요? 8비트 경계 입력 바이트 수도 구하세요.
해설 보기
MAC=2²×8=32, 에지=8+4−2=10, 슬롯=4×10=40, 활용률=32/40=80%입니다. 경계 입력은 2×2×8=32개이므로 32바이트입니다. 결과 쓰기와 로드는 계산 활용률에서 제외됩니다.