最新 NVIDIA HPC SDK 更新擴展了可移植性,現(xiàn)在支持基于 Arm 的 AWS Graviton 3 processor 。在本文中,您將學習如何使用 NVIDIA 編譯器啟用可縮放矢量擴展( Scalable Vector Extension , SVE )自動矢量化,以最大限度地提高運行在 AWS Graviton3 CPU 上的 HPC 應用程序的性能。
HPC SDK NVIDIA 軟件包
NVIDIA HPC SDK 包括經(jīng)過驗證的編譯器、庫和軟件工具,對于最大限度地提高開發(fā)人員生產(chǎn)力和為 CPU 、 CPU 或云構建 HPC 應用 至關重要。
NVIDIA HPC compilers 為 NVIDIA GPU 和多核 Arm 、 OpenPOWER 或 x86-64 CPU 啟用跨平臺 C 、 C ++和 Fortran 編程。對于使用 OpenMP 、 OpenACC 和 CUDA 以 C 、 C ++或 Fortran 編寫的 HPC 建模和仿真應用程序,這些都是理想的選擇。
例如,與 GCC 12.1 相比,使用 NVIDIA HPC 編譯器編譯時, AWS Graviton 3 的 SPEC CPU ? 2017 基準分數(shù)預計增加 17% 。
編譯器還可以與優(yōu)化的 NVIDIA math libraries 、通信庫以及性能調(diào)優(yōu)和調(diào)試工具完全互操作。這些加速的數(shù)學庫最大限度地提高了普通 HPC 算法的性能,而優(yōu)化的通信庫支持基于標準的可擴展系統(tǒng)編程。
集成的性能分析和調(diào)試工具簡化了 HPC 應用程序的移植和優(yōu)化,而容器化工具可以方便地在本地或云中部署。
臂和 AWS 重力 3
AWS Graviton3 于 2022 年 5 月推出,是 AWS 基于 Arm 的 CPU 。 Arm 體系結(jié)構具有傳統(tǒng)的能效和對高內(nèi)存帶寬的支持,使其成為云和數(shù)據(jù)中心計算的理想選擇。 Amazon 報導 :
Amazon EC2 C7g 實例由最新一代 AWS Graviton3 處理器提供支持,為計算密集型工作負載提供了 Amazon EC2 中最佳的性價比。 C7g 實例非常適合 HPC 、批處理、電子設計自動化( EDA )、游戲、視頻編碼、科學建模、分布式分析、基于 CPU 的機器學習( ML )推理和廣告服務。與基于第六代 AWS Graviton2 的 C6g 實例相比,它們的性能提高了 25% 。
與 AWS Graviton2 相比, ANSYS 將 AWS Graviton3 的性能提高 35% 作為基準 。一級方程式模擬速度也提高了 40% 。自推出 Arm Neoverse 產(chǎn)品線以來,基于 Arm 的 CPU 一直在提供重大創(chuàng)新和性能增強,當時 Neoverses N1 核心 超過績效預期30% 。
與 Arm 支持新計算技術的歷史保持一致, AWS Graviton3 的特點是 DDR5 內(nèi)存和 SVE 到 Arm 體系結(jié)構。
Amazon EC2 C7g 實例是云中第一個使用 DDR5 內(nèi)存的實例,與 DDR4 內(nèi)存相比,它提供了 50% 的內(nèi)存帶寬,從而實現(xiàn)了對內(nèi)存中數(shù)據(jù)的高速訪問。充分利用所有內(nèi)存帶寬的最佳方法是使用最新的矢量化技術: Arm SVE 。
SVE 架構
除了是第一個提供 DDR5 的云托管 CPU 之外, AWS Graviton3 也是第一個在云中使用 SVE 的。
SVE 首次引入富士通 A64FX CPU ,為 RIKEN Fugaku 超級計算機供電。當 Fugaku 推出時,它打破了所有當代 HPC CPU 基準,并在兩年內(nèi)自信地名列 TOP500 超級計算機榜首。
SVE 和高帶寬內(nèi)存是 A64FX 的主要設計特點,是 HPC 的理想之選,而 AWS Graviton3 處理器中也有這兩個特點。
SVE 是 Arm 體系結(jié)構的下一代 SIMD 擴展。它可以使用 CPU 實現(xiàn)中的一系列可能值實現(xiàn)靈活的矢量長度。矢量長度可以從最小 128 位到最大 2048 位不等,增量為 128 位。
例如,富士通 A64FX 以 512 位實現(xiàn) SVE ,而 AWS Graviton3 以 256 位實現(xiàn)。與其他 SIMD 體系結(jié)構不同,盡管硬件矢量位寬度不同,但相同的匯編代碼在兩個 CPU 上運行。這稱為矢量長度無關( VLA )編程。
VLA 代碼具有高度的可移植性,可以使編譯器生成更好的匯編代碼。但是,如果編譯器知道目標 CPU 的硬件矢量位寬度,它可以針對特定的體系結(jié)構進行進一步優(yōu)化。這是矢量長度特定( VLS )編程。
SVE 對 VLA 和 VLS 使用相同的匯編語言。唯一的區(qū)別是,編譯器在生成代碼時可以自由地對數(shù)據(jù)布局、循環(huán)跳閘計數(shù)和其他相關特性進行附加斷言。這會產(chǎn)生高度優(yōu)化的、特定于目標的代碼,從而充分利用 CPU 。
SVE 還引入了一系列功能強大的高級功能,非常適合 HPC 和 ML 應用:
收集加載和分散存儲指令允許對結(jié)構數(shù)組和其他非連續(xù)數(shù)據(jù)進行矢量化操作。
推測性矢量化支持對包含控制流的字符串操作函數(shù)和循環(huán)進行 SIMD 加速。
水平和序列化矢量操作有助于數(shù)據(jù)縮減,并有助于優(yōu)化處理大型數(shù)據(jù)集的循環(huán)。
SVE 不是 NEON 指令集的擴展或替代,后者也可在 AWS Gravition3 中使用。 SVE 經(jīng)過重新設計,以提高 HPC 和 ML 的數(shù)據(jù)并行性。
使用 NVIDIA HPC 編譯器最大限度地提高 Graviton3 性能
編譯器自動矢量化是利用 SVE 的最簡單方法之一, NVIDIA HPC 編譯器在 22.7 版本中添加了對 SVE 自動矢量化的支持。
為了最大限度地提高性能,編譯器執(zhí)行分析以確定要生成的 SIMD 指令。 SVE 自動矢量化使用目標特定信息,根據(jù) CPU 核的矢量位寬度生成高度優(yōu)化的矢量長度特定( VLS )代碼。
要啟用 SVE 自動矢量化,請為目標 CPU 指定適當?shù)?-tp 體系結(jié)構標志: -tp = neoverse-v1 。如果不指定 -tp 選項,則假定應用程序?qū)⒃诰幾g它的同一系統(tǒng)上執(zhí)行。
在 Graviton3 上使用 NVIDIA HPC 編譯器編譯的應用程序會自動充分利用 CPU 的 256 位 SVE SIMD 單元。 Graviton3 還向后兼容 -tp = neoverse-n1 選項,但僅在其 128 位 NEON SIMD 單元上運行矢量代碼。
NVIDIA HPC SDK 入門
NVIDIA HPC SDK 提供了一個全面且經(jīng)驗證的軟件堆棧。它使 HPC 開發(fā)人員能夠在 NVIDIA 平臺和 AWS Graviton3 等高性能系統(tǒng)上創(chuàng)建和優(yōu)化應用程序性能。
通過提供廣泛的編程模型、庫和開發(fā)工具,可以針對專用硬件高效開發(fā)應用程序,從而在 NVIDIA GPU 和支持 SVE 的處理器(如 AWS Graviton3 )等系統(tǒng)中實現(xiàn)最先進的性能。
關于作者
John Linford 博士是 NVIDIA 的首席技術經(jīng)理,專注于開發(fā) CPU 軟件生態(tài)系統(tǒng)。 John 此前曾擔任 HPC 工程部主任。 John 擁有近二十年的一線 HPC 應用、系統(tǒng)和優(yōu)化經(jīng)驗,尤其喜歡與新興技術和極端規(guī)模的系統(tǒng)合作。約翰的總部設在德克薩斯州奧斯汀。
Scott Manley 是一名編譯器優(yōu)化工程師,也是 NVIDIA HPC SDK 的自動矢量化主管。 Scott 的整個職業(yè)生涯都致力于矢量化和 HPC 編譯器。他曾在 Cray 編譯環(huán)境( CCE )工作,并在都柏林三一學院獲得博士學位,主要致力于優(yōu)化 SIMD ISAs 的使用。
Graham Lopez 在 NVIDIA 領導高性能計算編譯器的產(chǎn)品管理。此前,他曾與應用程序合作,以在當前和未來的領先級計算設施上大規(guī)模運行。除了直接參與 HPC 應用程序之外, Graham 還發(fā)表了編程模型、計算科學、異構系統(tǒng)的應用程序加速和基準測試以及低級通信 API 等領域的研究成果。格雷厄姆過去三年一直是 ISO C ++標準委員會的成員。
審核編輯:郭婷
-
NVIDIA
+關注
關注
14文章
5309瀏覽量
106433 -
編譯器
+關注
關注
1文章
1662瀏覽量
50232
發(fā)布評論請先 登錄
NVIDIA RTX AI加速FLUX.1 Kontext現(xiàn)已開放下載
NVIDIA全棧加速代理式AI應用落地
全球各大品牌利用NVIDIA AI技術提升運營效率
Oracle 與 NVIDIA 合作助力企業(yè)加速代理式 AI 推理

在AWS Graviton4處理器上運行大語言模型的性能評估

利用NVIDIA DPF引領DPU加速云計算的未來

借助NVIDIA GPU提升魯班系統(tǒng)CAE軟件計算效率
Arm Neoverse 驅(qū)動 AWS Graviton4,加速云計算新時代
強悍的AWS Graviton4處理器及其背后的Arm Neoverse
Arm與AWS合作深化,AWS Graviton4展現(xiàn)顯著進展
云計算HPC軟件關鍵技術
《CST Studio Suite 2024 GPU加速計算指南》
NVIDIA通過加速AWS上的機器人仿真推進物理AI的發(fā)展
蘋果利用AWS定制AI芯片提升服務
Matter SVE認證經(jīng)驗分享

評論