{{위키데이터 속성 추적}}
[[파일:NVIDIA_H100_(极客湾Geekerwan)_025.png|섬네일| NVIDIA H100 GPU 4개]]
[[파일:Commodore_Grace_M._Hopper,_USN_(covered).jpg|오른쪽|섬네일| 아키텍처의 시초, 그레이스 호퍼의 사진]]
'''호퍼'''(Hopper)는 [[엔비디아]]가 개발한 [[그래픽 처리 장치]] (GPU) [[마이크로아키텍처|마이크로아키텍처]]이다. 데이터 센터용으로 설계되었으며, 에이다 러브에이스 아키텍처와 동급이다. [[엔비디아 테슬라]]의 최신 세대이다.

컴퓨터 과학자이자 [[미국 해군|미 해군]] [[준장]]을 역임한 [[그레이스 호퍼]]의 이름을 딴 호퍼 아키텍처는 2019년 11월에 유출되었으며 2022년 3월에 공식적으로 공개되었다. 특징으로 하는 이전 버전인 [[튜링 (마이크로아키텍처)|튜링]] 및 [[암페어 (마이크로아키텍처)|암페어]] 마이크로아키텍처와 비교하면 새로운 [[그래픽 처리 장치|스트리밍 멀티프로세서]] 와  더 빠른 메모리 하위 시스템을를 사용하여 개선되었다.

== 아키텍처 ==
엔비디아 호퍼 H100 GPU는 800억 개의 트랜지스터를 사용하여 [[TSMC]] 4N 공정으로 구현된다. 이는 최대 144개의 [[그래픽 처리 장치|스트리밍 멀티프로세서]]로 구성된다. {{Sfn|Elster|Haugdahl|2022|p=4}} SXM5 소켓 환경에서 엔비디아 호퍼 H100은 [[PCI 익스프레스|PCIe]] 보다 더 나은 성능을 보여주었다. {{Sfn|Nvidia|2023c|p=20}}

=== 스트리밍 멀티프로세서 (SM) ===
호피의 스트리밍 멀티프로세서는 [[튜링 (마이크로아키텍처)|튜링]] 및 [[암페어 (마이크로아키텍처)|암페어]] 마이크로아키텍처보다 개선되었지만 스트리밍 멀티프로세서(SM)당 최대 동시 워프 수는 64개로 유지되었다. {{Sfn|Nvidia|2023b|p=9}} 호퍼 아키텍처는 공유 메모리와 전역 메모리 간의 양방향 비동기 메모리 전송을 지원하는 텐서메모리 가속기(TMA)를 제공한다. {{Sfn|Fujita|Yamaguchi|Kikuchi|Ichimura|2023|p=6}} TMA에서 애플리케이션은 최대 5D 텐서를 전송할 수 있다. 공유 메모리에서 전역 메모리로 쓸 때, 요소별 축소 및 비트별 연산자를 사용하여 레지스터 및 SM 명령어를 피하면서 사용자가 워프 특화 코드를 작성할 수 있도록 할 수 있다. TMA는 <code>cuda::memcpy_async</code> 를 통해 표출된다. {{Sfn|Nvidia|2023b|p=9-10}}

애플리케이션을 병렬화할 때 개발자는 스레드 블록 클러스터를 사용할 수 있다. 스레드 블록은 클러스터 내 다른 스레드 블록의 공유 메모리( [[분산 공유 메모리]] 라고도 부름)에서 원자적 연산들을 수행할 수 있다. 분산 공유 메모리는 [[CPU 캐시|L2 캐시]]와 동시에 SM에 의해 사용될 수 있다. SM 간 데이터 통신에 사용될 때 이는 분산 공유 메모리와 L2의 결합된 대역폭을 활용할 수 있다. 최대 포터블 클러스터 크기는 8이지만 엔비디아 호퍼 H100은 <code>cudaFuncAttributeNonPortableClusterSizeAllowed</code> 기능을 사용하여 클러스터 크기 16을 지원할 수 있지만 잠재적으로 액티브 블록 수가 줄어들 수 있다.{{Sfn|Nvidia|2023b|p=10}} L2 멀티캐스팅 및 분산 공유 메모리를 사용하면 [[동적 램|동적 랜덤 액세스 메모리]] 읽기 및 쓰기에 필요한 대역폭이 줄어든다.<ref name="NVIDIAVid">{{영상 인용|people=Vishal Mehta |date=September 2022 |title=CUDA Programming Model for Hopper Architecture |language=en |url=https://www.nvidia.com/en-us/on-demand/session/gtcfall22-a41095/ |access-date=May 29, 2023 |location=Santa Clara |publisher=[[Nvidia]]}}</ref>

호퍼는 이전 제품보다 SM·사이클 단위마다 2배 많은 FP32 작업을 통해 향상된 단정밀도 부동 소수점 형식 (FP32) 처리량을 제공한다. 또한 호퍼 아키텍처는 스마스-워터만 알고리즘을 포함한 새로운 명령어를 추가로 지원한다. {{Sfn|Nvidia|2023b|p=10}} 암페어 아키텍처와 마찬가지로 TensorFloat-32(TF-32)연산이 지원된다. 두 아키텍처의 매핑 패턴은 동일하다. {{Sfn|Fujita|Yamaguchi|Kikuchi|Ichimura|2023|p=4}}

=== 메모리 ===
엔비디아 호퍼 H100은 최대 80GB의 [[고대역 메모리|HBM3]] 및 [[고대역 메모리|HBM2e]] 메모리를 지원한다. HBM3 메모리 시스템은 엔비디아 암페어 A100의 2TB/s에 비해 50% 증가한 3TB/s를 지원한다. 아키텍처 전반에 걸쳐 L2 캐시 용량과 대역폭이 증가했다. {{Sfn|Nvidia|2023b|p=11}}

호퍼를 사용하면 [[CUDA]] [[컴퓨트 커널|컴퓨팅 커널]]이 개별 메모리 할당을 포함하여 자동 인라인 압축을 활용하여 더 높은 대역폭에서 메모리에 액세스할 수 있다. 데이터(와 압축 가능성)가 언제든지 변경될 수 있으므로 이 기능은 애플리케이션에 사용 가능한 메모리 양을 늘리지 않는다. 메모리 압축기는 여러 압축 알고리즘 중에서 자동으로 선택한다. {{Sfn|Nvidia|2023b|p=11}}

엔비디아 호퍼 H100은 L1 캐시, 텍스처 캐시 및 공유 메모리를 결합하여 용량을 256KB로 늘린다. 이전 버전과 마찬가지로 L1 및 텍스처 캐시를 통합 버퍼로 설계된 통합 캐시로 결합한다. <code>cudaFuncAttributePreferredSharedMemoryCarveout</code> 속성은 L1 캐시의 카브아웃을 정의하는 데 사용될 수 있다. 호퍼는 전체 통신 대역폭이 더 빨라진 차세대 제품을 통해 [[NVLink]]에 향상된 기능을 도입한다. {{Sfn|Nvidia|2023b|p=12}}

==== 메모리 동기화 도메인 ====
일부 CUDA 응용 프로그램은 메모리 순서로 인해 펜스 또는 플러시 작업을 수행할 때 간섭을 경험할 수 있다. GPU는 어떤 쓰기가 보장되고 어떤 쓰기가 우연한 타이밍에 표시되는지 알 수 없기 때문에 불필요한 메모리 작업을 기다리게 되어 펜스 또는 플러시 작업 속도가 느려질 수 있다. 예를 들어 커널이 GPU 메모리에서 계산을 수행하고 병렬 커널이 피어와 통신을 수행하는 경우 로컬 커널이 쓰기를 플러시하여 NVLink 또는 [[PCI 익스프레스|PCIe]] 쓰기 속도가 느려진다. 호퍼 아키텍처에서 GPU는 펜스 작업을 통해 넷 캐스트를 줄일 수 있다. {{Sfn|Nvidia|2023a|p=44}}

=== DPX 명령어 ===
호퍼 아키텍처 수학 API([[API|응용 프로그래밍 인터페이스]])는 SM에서 하프 [[워드 (컴퓨팅)|워드]]당 작업을 수행하는 <code>__viaddmin_s16x2_relu</code> 와 같은 함수를 표출한다. <math>max(min(a + b, c), 0)</math> . 스미스-워터만 알고리즘에서는 <code>__vimax3_s16x2_relu</code>을 사용할 수 있으며, 3방향 최소값 또는 최대값 다음에 0으로 고정된다.<ref>{{웹 인용|url=https://developer.nvidia.com/blog/boosting-dynamic-programming-performance-using-nvidia-hopper-gpu-dpx-instructions/|제목=Boosting Dynamic Programming Performance Using NVIDIA Hopper GPU DPX Instructions|성=Tirumala|이름=Ajay|성2=Eaton|이름2=Joe|날짜=December 8, 2022|출판사=[[Nvidia]]|확인날짜=May 29, 2023|성3=Tyrlik|이름3=Matt}}</ref> 마찬가지로 호퍼는 니들만-브니쉬 알고리즘의 구현 속도를 높인다.<ref>{{웹 인용|url=https://blogs.nvidia.com/blog/2022/03/22/nvidia-hopper-accelerates-dynamic-programming-using-dpx-instructions/|제목=NVIDIA Hopper GPU Architecture Accelerates Dynamic Programming Up to 40x Using New DPX Instructions|성=Harris|이름=Dion|날짜=March 22, 2022|출판사=[[Nvidia]]|확인날짜=May 29, 2023}}</ref>

=== 트랜스포머 엔진 ===
호퍼 아키텍처는 트랜스포머 엔진을 활용한다.<ref>{{웹 인용|url=https://blogs.nvidia.com/blog/2022/03/22/h100-transformer-engine/|제목=H100 Transformer Engine Supercharges AI Training, Delivering Up to 6x Higher Performance Without Losing Accuracy|성=Salvator|이름=Dave|날짜=March 22, 2022|출판사=[[Nvidia]]|확인날짜=May 29, 2023}}</ref>

=== 전력 효율성 ===
SXM5 폼 팩터 H100의 [[열 설계 전력]](TDP)은 700 [[와트]]이다.  비동기성과 관련하여 호퍼 아키텍처는 높은 수준의 활용도를 얻을 수 있으므로 더 나은 와트당 성능을 가질 수 있다. {{Sfn|Elster|Haugdahl|2022|p=8}}

== 그레이스 호퍼 ==
&nbsp;
그레이스 호퍼 GH200은 호퍼 기반 H200 GPU와 그레이스 기반 72코어 CPU를 단일 모듈에 결합한 것이다. 모듈의 총 전력 소모량은 최대 1000이다. CPU와 GPU는 [[NVLink]]를 통해 연결되어 CPU와 GPU 메모리 간의 메모리 일관성을 제공한다.<ref>{{웹 인용|url=https://www.anandtech.com/show/18877/nvidia-grace-hopper-has-entered-full-production-announcing-dgx-gh200-ai-supercomputer|제목=NVIDIA: Grace Hopper Has Entered Full Production & Announcing DGX GH200 AI Supercomputer|날짜=2023-05-29|웹사이트=Anandtech}}</ref>

== 역사 ==
2019년 11월, 한 유명 트위터 계정 https://x.com/kopite7kimi/ 에 따르면 [[암페어 (마이크로아키텍처)|암페어]] 이후의 다음 아키텍처가 컴퓨터 과학자이자 [[하버드 마크 I]] 의 최초 프로그래머 중 한 명인 [[미국 해군|미 해군]] 준장 [[그레이스 호퍼]] 이름을 따서 호퍼라고 불릴 것임을 알리는 트윗을 게시했다. 이 계정에서는 호퍼가 [[멀티칩 모듈|다중 칩 모듈]] 설계를 기반으로 하여 낭비를 줄이면서 수율을 높일 수 있다고 명시했다.<ref>{{웹 인용|url=https://wccftech.com/nvidia-hopper-gpu-mcm-leaked/|제목=NVIDIA Next Generation Hopper GPU Leaked – Based On MCM Design, Launching After Ampere|성=Pirzada|이름=Usman|날짜=November 16, 2019|웹사이트=Wccftech|확인날짜=May 29, 2023}}</ref>

2022년 엔비디아 GTC 컨퍼런스에서 공식적으로 호퍼를 발표했다.<ref>{{웹 인용|url=https://www.theverge.com/2022/3/22/22989182/nvidia-ai-hopper-architecture-h100-gpu-eos-supercomputer|제목=Nvidia reveals H100 GPU for AI and teases 'world's fastest AI supercomputer'|성=Vincent|이름=James|날짜=March 22, 2022|웹사이트=[[The Verge]]|확인날짜=May 29, 2023}}</ref> 2023년에는 [[AI 붐]]이 일면서 H100의 수요가 급증했다. [[오라클 (기업)|오라클]]의 [[래리 엘리슨]]은 그 해 엔비디아 CEO [[젠슨 황]]과의 만찬에서 그와 [[테슬라 (기업)|테슬라]]의 [[일론 머스크]] 및 [[XAI (기업)|XAI]]가 H100을 "구걸하고 있었다"고 말했다. "내 생각에는 그것을 묘사하는 가장 좋은 방법인 것 같다. 초밥과 구걸의 한 시간."<ref name="fitch20240226">{{뉴스 인용|url=https://www.wsj.com/tech/ai/nvidia-ceo-jensen-huang-vision-company-f05db212|제목=Nvidia’s Stunning Ascent Has Also Made It a Giant Target|성=Fitch|이름=Asa|날짜=2024-02-26|뉴스=The Wall Street Journal|언어=en-US|확인날짜=2024-02-27}}</ref>

== 각주 ==
{{각주}}

== 참고 자료 ==
* {{저널 인용|제목=Nvidia Hopper GPU and Grace CPU Highlights|저널=[[Computing in Science & Engineering]]|성1=Elster|이름1=Anne|성2=Haugdahl|이름2=Tor|url=https://www.computer.org/csdl/magazine/cs/2022/02/09789536/1E0N2woOifC|날짜=March 2022||권=24|호=2|쪽=95–100|bibcode=2022CSE....24b..95E|doi=10.1109/MCSE.2022.3163817|확인날짜=May 29, 2023|ref=harv}}
* {{저널 인용|제목=Calculation of cross-correlation function accelerated by TensorFloat-32 Tensor Core operations on NVIDIA's Ampere and Hopper GPUs|저널=Journal of Computational Science|성1=Fujita|이름1=Kohei|성2=Yamaguchi|이름2=Takuma|날짜=April 2023|권=68|doi=10.1016/j.jocs.2023.101986|성3=Kikuchi|이름3=Yuma|성4=Ichimura|이름4=Tsuyoshi|성5=Hori|이름5=Muneo|성6=Maddegedara|이름6=Lalith|ref=harv}}
* {{서적 인용|url=https://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide.pdf|제목=CUDA C++ Programming Guide|날짜=April 17, 2023|출판사=[[Nvidia]]|ref={{Harvid|Nvidia|2023a}}}}
* {{서적 인용|url=https://docs.nvidia.com/cuda/pdf/Hopper_Tuning_Guide.pdf|제목=Hopper Tuning Guide|날짜=April 13, 2023|출판사=[[Nvidia]]|ref={{Harvid|Nvidia|2023b}}}}
* {{서적 인용|url=https://nvdam.widen.net/content/tdwwiwotwr/original/gtc22-whitepaper-hopper.pdf|제목=NVIDIA H100 Tensor Core GPU Architecture|날짜=2022|출판사=[[Nvidia]]|ref={{Harvid|Nvidia|2023c}}}}{{깨진 링크|url=https://nvdam.widen.net/content/tdwwiwotwr/original/gtc22-whitepaper-hopper.pdf }}

== 추가 문헌 ==
* {{저널 인용|제목=NVIDIA Hopper H100 GPU: Scaling Performance|저널=[[IEEE Micro]]|성=Choquette|이름=Jack|url=https://www.computer.org/csdl/magazine/mi/2023/03/10070122/1LvvYVP9o1q|날짜=May 2023|권=43|호=3|쪽=9–17|doi=10.1109/MM.2023.3256796|확인날짜=May 29, 2023}}
* {{웹 인용|url=https://spectrum.ieee.org/nvidias-next-gpu-shows-that-transformers-are-transforming-ai|제목=Nvidia's Next GPU Shows That Transformers Are Transforming AI|성=Moore|이름=Samuel|날짜=April 8, 2022|웹사이트=[[IEEE Spectrum]]|확인날짜=May 29, 2023}}
* {{웹 인용|url=https://www.nextplatform.com/2022/03/31/deep-dive-into-nvidias-hopper-gpu-architecture/|제목=Deep Dive Into Nvidia's "Hopper" GPU Architecture|성=Morgan|이름=Timothy|날짜=March 31, 2022|웹사이트=The Next Platform|확인날짜=May 29, 2023}}

{{엔비디아}}

[[분류:그래픽스 마이크로아키텍처]]
[[분류:엔비디아 마이크로아키텍처]]