Nvidia의 새로운 Rubin GPU는 소프트웨어 에뮬레이션을 활용하여 HPC의 FP64 성능을 향상시켜 AMD가 이 방법의 실제 적용 가능성에 대해 표명한 유보에도 불구하고 이 분야에서 AMD의 최근 선두에 도전하고 있습니다. 이중 정밀도 부동 소수점 계산(FP64)은 최신 HPC 및 과학 컴퓨팅 애플리케이션에 필수적입니다. Nvidia가 새로 공개한 Rubin GPU는 에뮬레이션 없이 33테라플롭스의 최고 FP64 성능을 제공합니다. 이는 4년 된 H100보다 1테라플롭 적은 수치입니다. Nvidia의 CUDA 라이브러리에서 소프트웨어 에뮬레이션을 활성화하면 이 칩은 최대 200테라플롭스의 FP64 매트릭스 성능을 달성할 수 있는 것으로 알려졌습니다. 이는 기존 Blackwell 가속기의 하드웨어 성능에 비해 4.4배 향상된 수치입니다. Nvidia의 슈퍼컴퓨팅 제품 담당 수석 이사인 Dan Ernst는 “파트너와의 많은 연구 및 자체 내부 조사를 통해 우리가 발견한 것은 에뮬레이션에서 얻는 정확성이 적어도 하드웨어의 텐서 코어에서 얻는 정확성만큼 좋다는 것입니다.”라고 말했습니다. AMD 동료인 Nicholas Malaya는 “일부 벤치마크에서는 상당히 우수하지만 실제 물리적 과학 시뮬레이션에서는 우수하다는 것이 확실하지 않습니다.”라고 말했습니다. Malaya는 FP64 에뮬레이션에는 추가 연구와 실험이 필요하다고 제안했습니다. FP64는 18.44경(2) 이상을 표현할 수 있는 동적 범위로 인해 과학 컴퓨팅의 표준으로 남아 있습니다.64) 고유한 값. 반대로 DeepSeek R1과 같은 최신 AI 모델은 256개의 고유한 값을 표현할 수 있는 FP8에서 자주 훈련됩니다. HPC 시뮬레이션은 기본적인 물리적 원리에 의존하므로 AI 워크로드와 달리 오류를 허용하지 않습니다. Malaya는 “오류가 발생하기 시작하자마자 이러한 유한한 오류가 전파되어 폭발과 같은 일이 발생합니다”라고 설명했습니다. FP64를 에뮬레이트하기 위해 정밀도가 낮은 데이터 유형을 사용한다는 개념은 새로운 것이 아닙니다. Ernst는 “에뮬레이션은 아주 오래되었습니다. 우리는 부동 소수점용 하드웨어를 갖기 전인 50년대 중반에 에뮬레이션을 했습니다.”라고 말했습니다. 2024년 초, 도쿄 및 시바우라 기술 연구소의 연구원들은 이 개념을 탐구하는 논문을 발표했습니다. 그들의 방법은 FP64 매트릭스 연산이 여러 INT8 연산으로 분해되어 Nvidia의 텐서 코어에서 기본 성능보다 더 높은 성능을 달성할 수 있음을 보여주었습니다. Ozaki 방식으로 알려진 이 접근 방식은 작년 말에 출시된 Nvidia의 FP64 에뮬레이션 라이브러리의 기초를 형성합니다. Ernst는 “여전히 FP64입니다. 혼합된 정밀도가 아닙니다. 단지 하드웨어 관점에서 다른 방식으로 완성되고 구성되었을 뿐입니다.”라고 밝혔습니다. 최신 GPU에는 정밀도가 낮은 텐서 코어가 포함되어 있습니다. 예를 들어 Rubin의 텐서 코어는 35페타플롭스의 고밀도 FP4 컴퓨팅을 처리할 수 있습니다. FP64에서 이러한 칩은 1,000배 이상 느립니다. Ernst는 이러한 낮은 정밀도의 텐서 코어를 구축하고 실행하는 효율성으로 인해 FP64 계산에 대한 사용에 대한 탐구가 촉발되었다고 설명했습니다. 그는 “하드웨어가 있으니 한번 사용해 보자. 그것이 슈퍼컴퓨팅의 역사”라고 말했다. AMD는 FP64 에뮬레이션의 정확성에 대한 우려를 표명했습니다. Malaya는 HPL(High Performance Linpack) 벤치마크를 인용하여 FP64 에뮬레이션이 조건이 좋은 수치 시스템에서 잘 작동한다고 밝혔습니다. 그러나 “재료 과학, 연소 코드, 줄무늬 선형 대수학 시스템 등을 살펴보면 조건이 잘 갖추어지지 않은 시스템이 갑자기 고장나기 시작합니다.”라고 그는 말했습니다. Malaya는 Nvidia의 알고리즘이 양의 0과 음의 0, 숫자 오류 또는 무한 숫자 오류와 같은 미묘한 차이를 고려하지 않기 때문에 FP64 에뮬레이션이 IEEE를 완전히 준수하지 않는다고 지적했습니다. 에뮬레이션을 위한 중간 작업의 작은 오류로 인해 부정확성이 발생할 수 있습니다. 이를 완화하기 위해 작업을 늘리면 성능 이점이 무효화될 수 있습니다. Malaya는 또한 “FP64 매트릭스를 에뮬레이트하기 위해 Ozaki에서 약 두 배의 메모리 용량을 사용하고 있음을 보여주는 데이터가 있습니다.”라고 보고했습니다. 따라서 AMD는 성능을 강화하기 위해 칩렛 아키텍처를 활용하는 곧 출시될 MI430X를 통해 배정밀도 및 단정밀도를 위한 특수 하드웨어에 중점을 두고 있습니다. Ernst는 Nvidia 구현의 격차를 인정했습니다. 그는 대부분의 HPC 실무자에게 양수/음수 0이 중요하지 않다고 주장했습니다. Nvidia는 숫자가 아닌 숫자 및 무한한 숫자와 같은 문제를 감지하고 완화하기 위한 보충 알고리즘을 개발했습니다. 메모리 소비와 관련하여 Ernst는 더 높을 수 있다는 점을 인정했지만 이 오버헤드는 일반적으로 몇 기가바이트의 행렬과 관련된 애플리케이션이 아니라 작업과 관련이 있다고 말했습니다. 그는 또한 행렬 곱셈의 경우 IEEE 준수 문제가 종종 발생하지 않는다고 주장했습니다. “IEEE 규정 준수 순서 규칙이 적용되는 대부분의 사용 사례는 행렬, 행렬 곱셈 사례에서 나타나지 않습니다. 어쨌든 실제로 해당 규칙을 따르는 경향이 있는 DGEMM은 없습니다”라고 Ernst는 공유했습니다. FP64 에뮬레이션은 주로 DGEMM(Dense General Matrix Multiply) 작업을 사용하는 HPC 애플리케이션의 하위 집합에 효과적입니다. Malaya는 HPC 워크로드의 60~70%에 대해 에뮬레이션이 최소한의 이점을 제공한다고 추정했습니다. “우리 분석에 따르면 실제 HPC 워크로드의 대부분은 DGEMM이 아닌 벡터 FMA에 의존합니다.”라고 그는 말했습니다. 전산 유체 역학과 같은 벡터가 많은 작업의 경우 Rubin GPU는 CUDA 코어 내의 느린 FP64 벡터 가속기에서 작동합니다. Ernst는 메모리 대역폭이 종종 실제 성능을 제한하기 때문에 더 높은 FLOPS가 항상 유용한 FLOPS와 동일하지는 않다는 점을 강조했습니다. 그는 TOP500의 벡터가 많은 고성능 공액 기울기(High Performance Conjugate Gradient) 벤치마크를 참조했는데, 여기서 CPU는 종종 메모리 하위 시스템의 FLOPS당 더 높은 비트로 인해 선두를 달리고 있습니다. Nvidia의 Blackwell 및 Rubin GPU를 통합한 새로운 슈퍼컴퓨터를 통해 FP64 에뮬레이션의 실행 가능성이 테스트됩니다. 특정 하드웨어로부터 알고리즘이 본질적으로 독립되어 있기 때문에 시간이 지남에 따라 잠재적인 개선이 가능합니다. Malaya는 AMD가 적합한 애플리케이션을 식별하기 위해 소프트웨어 플래그를 통해 MI355X와 같은 칩에서 FP64 에뮬레이션을 탐색하고 있음을 확인했습니다. 그는 IEEE 규정이 에뮬레이션과 전용 실리콘 간의 일관된 결과를 보장함으로써 접근 방식을 검증할 것이라고 말했습니다. Malaya는 “파트너에게 가서 이 두 개의 바이너리를 실행하라고 하면 이 바이너리는 다른 바이너리와 동일한 답변을 제공하고 더 빠르며, 내부적으로는 어떤 계획을 세우고 있는 것입니다. 이것이 최고의 순간을 위한 설득력 있는 주장이라고 생각합니다.”라고 말했습니다. 그는 특정 애플리케이션이 에뮬레이션을 통해 더 안정적일 수 있다고 덧붙이며 “우리는 커뮤니티로서 살펴볼 앱 바구니를 구축해야 합니다”라고 제안했습니다.

  Goldman Sachs는 올해 BTC 최고 실적 자산을 선정했습니다.

주요 이미지 크레딧

Source: Nvidia Rubin GPU: 소프트웨어 에뮬레이션의 200teraFLOPS FP64