H100 SM 아키텍처 및 주요 기능

GTC 2022에서 화제를 모은 NVIDIA Hopper GPU 아키텍처 기반 NVIDIA H100 Tensor Core GPU(이하 H100 GPU) 관련해 두 번째 포스팅을 이어가 보겠습니다. 이번에 다룰 내용은 H100 SM(Streaming Multiprocessor) 아키텍처와 주요 기능입니다. 참고로 SM은 GPGPU 프로그램 수행 기본 단위를 뜻합니다.


더 높은 성능 제공

H100 GPU는 FP8 도입으로 SM당 부동 소수점 연산 능력을 크게 끌어 올렸습니다. 이전 세대인 A100 GPU와 비교할 때 약 4배 정도 더 높은 성능을 냅니다. NVIDIA Hopper FP8 Tensor Core와 결합된 새로운 Transformer Engine은 A100 보다 초거대 언어 모델 훈련 속도는 9배 더 빠르고, 추론 속도는 30배 더 빠릅니다. 또한, 새로운 NVIDIA Hopper DPX 명령은 게놈 및 단백질 시퀀싱을 위해 최대 7배 더 빠른 속도로 Smith-Waterman 알고리즘을 실행합니다. 이외에도 Tensor Memory Accelerator 등 SM 개선 사항을 함꼐 적용하면 AI, HPC 워크로드 처리 속도를 크게 끌어 올릴 수 있습니다.



H100 SM 주요 기능

H100 SM에서 주목할 주요 기능은 크게 7가지로 압축할 수 있습니다.


  • 4세대 Tensor Core

  • 새로운 DPX 명령어

  • IEEE FP64, FP32 처리 속도

  • 공유 메모리

  • 비동기 실행 기능

  • 새로운 스레드 블록 클러스터

  • 분산 공유 메모리


Tensor Cores는 NVIDIA V100 GPU에서 처음 도입되었으며 새로운 NVIDIA GPU 아키텍처 세대마다 더욱 향상되었습니다. 4세대 Tensor Core는 SM 수도 늘고, 클럭도 높습니다. A100과 비교하면 6배 정도 더 빠릅니다. 또한, FP8, FP16, BF16, TF32, FP64 및 INT8 MMA 데이터 유형을 지원합니다. 참고로 FP16을 기준으로 볼 때 H100은 이전 세대보다 쓰루풋이 3배 더 높습니다. 이외에도 더 효율적인 데이터 관리를 통해 전력을 최대 30% 절약합니다.



동적 프로그래밍(DP)은 복잡한 재귀 문제를 더 간단한 하위 문제로 분해하여 해결하는 알고리즘입니다. 새로운 DPX 명령어는 시퀀싱 분야의 Smith-Waterman, 로봇 공학 분야의 Floyd-Warshall 같은 동적 알고리즘을 A100 보다 최대 7배까지 가속합니다. 이에 따라 질병 진단, 물류 라우팅 최적화 및 그래프 분석에서 솔루션에 이르는 시간이 크게 줄일 수 있습니다.


SM당 클럭 성능이 2배 더 빠르고, SM 숫자도 많다 보니 A100과 비교할 때 IEEE FP64 및 FP32 처리 속도가 3배 더 빠릅니다. 공유 메모리와 L1 데이터 캐시 용량도 A100 보다 1.33배 더 큽니다.


병렬 프로그램에서 고성능을 달성하기 위한 두 가지 필수 핵심은 데이터 지역성과 비동기 실행입니다. 새로 추가된 비동기 실행(asynchronous execution) 기능 덕에 글로벌 메모리와 공유 메모리 간 대용량 데이터 블록을 더 효과적으로 전송할 수 있게 되었습니다.


CUDA 프로그래밍 모델은 프로그램의 지역성을 활용하기 위해 여러 스레드 블록을 포함하는 그리드를 사용하는 GPU 컴퓨팅 아키텍처에 오랫동안 의존해 왔습니다. 그러나 GPU가 100개 이상의 SM으로 성장하고 컴퓨팅 프로그램이 복잡해지면서 프로그래밍 모델에서 표현되는 지역성의 유일한 단위인 스레드 블록은 실행 효율성을 극대화하기에는 충분하지 않습니다. H100은 단일 SM의 단일 스레드 블록보다 더 큰 단위로 지역성을 제어하는 새로운 스레드 블록 클러스터 아키텍처를 도입하였습니다. 스레드 블록 클러스터는 CUDA 프로그래밍 모델을 확장합니다. CUDA에서 그리드의 스레드 블록은 다음 그림과 같이 커널 시작 시 클러스터로 선택적으로 그룹화될 수 있으며 클러스터 기능은 CUDA cooperative_groups API를 통해 활용할 수 있습니다.



마지막으로 분산 공유 메모리의 경우 여러 SM 간 커뮤니케이션을 지원합니다. 이 기능은 공유 메모리 가상 주소 공간이 클러스터의 모든 블록에 논리적으로 분산되어 있기 때문에 분산 공유 메모리(DSMEM)라고 합니다. DSMEM은 데이터를 전달하기 위해 전역 메모리에 더 이상 데이터를 쓰고 읽을 필요가 없는 SM 간의 보다 효율적인 데이터 교환을 가능하게 합니다. 클러스터를 위한 전용 SM-to-SM 네트워크는 원격 DSMEM에 대한 빠르고 짧은 지연을 보장합니다. 전역 메모리를 사용하는 것과 비교하여 스레드 블록 간의 데이터 교환을 약 7배 가속합니다.



이상으로 H100 SM 아키텍처 및 주요 기능을 살펴보았습니다. 다음 포스팅에서는 9배 더 큰 대역폭에서 최대 256개의 H100 GPU를 연결하는 4세대 NVIDIA NVLink 및 NVLink 네트워크에 대해 알아보겠습니다.


#GTC2022 #GPU #H100 #A00 #Hopper_GPU

조회수 44회