B200 복소 행렬곱 최대 295TFLOPS…엔비디아, Ozaki-II 지원
엔비디아가 CUDA Toolkit 13.4부터 cuBLAS에 Ozaki-II를 추가했다. B200의 복소 행렬곱 에뮬레이션 최대 성능은 295TFLOPS로 제시됐다.
토포AI로 이 기사 더 깊이 읽기
엔비디아(NVIDIA·$NVDA)가 CUDA Toolkit 13.4부터 cuBLAS에 FP64 행렬곱 에뮬레이션 방식인 Ozaki-II를 추가했다. B200 GPU의 복소 행렬곱 에뮬레이션 최대 성능은 295TFLOPS로 제시됐다. 이는 특정 연산 경로의 최고치로, 과학 시뮬레이션 전체가 같은 속도로 실행된다는 뜻은 아니다.
엔비디아는 CUDA Toolkit 13.4.2 릴리스 노트에서 Ozaki-II가 기존 Ozaki-I보다 성능상 이점이 있을 때 사용되며, Ampere 이후 GPU를 지원한다고 밝혔다. FP64는 과학·공학 계산에 쓰이는 배정밀도 형식이고, cuBLAS는 GPU의 행렬 연산을 처리하는 라이브러리다.
FP64 에뮬레이션은 CUDA Toolkit 13.0 Update 2에서 Ozaki-I 기반 선택 기능으로 먼저 제공됐다. 13.4에서 Ozaki-II가 추가됐고, 13.4.2는 ‘13.4 Update 1’로 표기된 후속 업데이트다.
엔비디아가 제시한 최대 에뮬레이션 성능은 B200에서 실수 행렬곱 DGEMM 175TFLOPS, 복소 행렬곱 ZGEMM 295TFLOPS다. RTX PRO 6000 Blackwell Server Edition은 각각 최대 45TFLOPS와 70TFLOPS다. 네 수치는 모두 행렬곱 에뮬레이션의 최대치다.
복소 행렬곱에 쓰이는 2M 알고리즘은 실수 행렬곱 횟수를 통상 4회에서 2회로 줄인다. 엔비디아 리서치(NVIDIA Research)는 2M 알고리즘 연구 자료에서 Ozaki-II와 결합하면 복소 행렬곱을 같은 크기의 실수 행렬곱에 걸리는 시간의 약 두 배로 처리할 수 있다고 설명했다.
cuBLAS의 에뮬레이션 경로는 입력 행렬을 고정소수점 형식으로 변환한 뒤 GPU 연산 장치를 활용하고 중간 결과를 결합한다. 엔비디아의 cuBLAS 문서는 이 방식과 지원 조건을 설명한다.
자동 동적 정밀도 기능은 입력에 필요한 가수 비트 수를 계산한다. 설정된 한도를 넘으면 에뮬레이션 대신 기본 FP64 연산으로 전환한다. 입력과 정밀도 조건에 따라 실제 연산 경로가 달라질 수 있다.
CUDA Toolkit 13.4.2에서는 에뮬레이션에 필요한 작업 메모리가 부족할 때 장치별 메모리 풀에서 공간을 확보하도록 개선했다. 핸들별 메모리 할당을 반복하는 부담을 줄이기 위한 변경이다.
엔비디아는 같은 업데이트에서 Rubin GPU의 ZGEMM 최고 성능을 최대 25% 높였다고 밝혔다. 이 수치는 복소 행렬곱에 관한 것으로, 다른 연산이나 프로그램 전체의 실행 시간 개선율을 뜻하지 않는다.
행렬곱 에뮬레이션의 최대 처리량은 전체 애플리케이션 성능과 같지 않다. 실제 효과는 해당 작업에서 행렬곱이 차지하는 비중과 입력 조건, GPU에 따라 달라질 수 있다.
엔비디아는 이전 Ozaki 기반 에뮬레이션 사례로 RTX PRO 6000 Blackwell Server Edition에서 Quantum ESPRESSO 실행 시간이 기본 설정 대비 1.5배 빨라졌다고 보고했다. 이는 CUDA 13.4의 Ozaki-II를 직접 측정한 결과는 아니다. (cuBLAS 기술 블로그)
별도 cuBLAS Patch Release 13.8.2는 CUDA Toolkit 13.4 Update 1에 적용되며, Ozaki-II를 사용하는 일부 복소수 BLAS3 루틴의 드문 오류를 수정했다. 오류는 거의 평행한 벡터의 내적에서 각 성분의 크기가 비슷한 경우 발생할 수 있었다. (cuBLAS 패치 릴리스 노트)
한편 CUDA Toolkit 13.5.0 릴리스 노트에는 Ozaki-II와 관련한 같은 유형의 드문 오류가 알려진 문제로 기재돼 있다. 14일 확인 기준 엔비디아의 CUDA Toolkit 아카이브에서 최신 버전은 13.5.0이다. (CUDA Toolkit 13.5 릴리스 노트)
CUDA 13.5에서는 Ozaki-II 적용 범위가 일부 대칭·에르미트 랭크-k 연산으로 확대됐다. 이는 13.4에서 도입된 복소 행렬곱 에뮬레이션과는 별도로 지원 연산을 넓힌 변경이다.
본지가 앞서 보도한 B300 기반 BF16x9 분자동역학 시험은 FP32 에뮬레이션 사례다. 이번 FP64 행렬곱 에뮬레이션과는 정밀도와 측정 대상이 다르다.
서도윤 기자 




Comment 0
불러오는 중…