在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

通過(guò)NVIDIA Magnum IO擴(kuò)展VASP

jf_pJlTbmA9 ? 來(lái)源:NVIDIA ? 作者:NVIDIA ? 2023-07-05 16:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

盡管硅和其他半導(dǎo)體材料可能是當(dāng)今推動(dòng)變革的最重要的材料,但研究中還有其他幾種材料同樣可以推動(dòng)下一代變革,包括以下任何一種:

高溫超導(dǎo)體

光伏

石墨烯電池

超級(jí)電容器

半導(dǎo)體是構(gòu)建芯片的核心,這些芯片能夠?qū)@種新型材料進(jìn)行廣泛而復(fù)雜的搜索。

本文研究了一種叫做鉿或氧化鉿( HfO )的材料的性質(zhì)計(jì)算2.).

就其本身而言,鉿是一種電絕緣體。它在半導(dǎo)體制造中大量使用,因?yàn)樵跇?gòu)建動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器( DRAM )存儲(chǔ)時(shí),它可以充當(dāng)高κ介電膜。它還可以作為金屬氧化物半導(dǎo)體場(chǎng)效應(yīng)晶體管MOSFET )的柵極絕緣體。 Hafnia 對(duì)非易失性電阻 RAM 非常感興趣,這可能會(huì)使啟動(dòng)計(jì)算機(jī)成為過(guò)去。

而理想的純 HfO2.晶體只能用 12 個(gè)原子來(lái)計(jì)算,這只是一個(gè)理論模型。這種晶體實(shí)際上含有雜質(zhì)。

有時(shí),必須添加摻雜劑以產(chǎn)生超出絕緣的所需材料特性。這種摻雜可以在純度水平上進(jìn)行,這意味著在 100 個(gè)合格原子中,一個(gè)原子被不同的元素取代。至少有 12 個(gè)原子,其中只有 4 個(gè)是 Hf 。很快,很明顯,這樣的計(jì)算很容易需要數(shù)百個(gè)原子。

這篇文章演示了如何在數(shù)百甚至數(shù)千 GPU 上高效地并行化此類計(jì)算。 Hafnia 是一個(gè)例子,但這里所展示的原理當(dāng)然也可以應(yīng)用于類似大小的計(jì)算。

術(shù)語(yǔ)定義

Speedup:相對(duì)于參考的無(wú)維度性能度量。對(duì)于這篇文章,參考是使用 8x A100 80 GB SXM4 GPU 而不啟用 NCCL 的單節(jié)點(diǎn)性能。加速是通過(guò)將參考運(yùn)行時(shí)間除以經(jīng)過(guò)的運(yùn)行時(shí)間來(lái)計(jì)算的。

Linear scaling:完全平行的應(yīng)用程序的加速曲線。根據(jù) Amdahl 定律,它適用于 100% 并行化且互連速度無(wú)限快的應(yīng)用程序。在這種情況下, 2 倍的計(jì)算資源將導(dǎo)致一半的運(yùn)行時(shí)間, 10 倍的計(jì)算時(shí)間將導(dǎo)致十分之一的運(yùn)行時(shí)間。當(dāng)繪制與計(jì)算資源數(shù)量相比的加速時(shí),性能曲線是一條向上向右傾斜 45 度的直線。并行運(yùn)行的效果優(yōu)于此比例關(guān)系。也就是說(shuō),坡度將大于 45 度,這被稱為超線性縮放。

Parallel efficiency:以百分比表示的特定應(yīng)用程序執(zhí)行與理想線性縮放的接近程度的無(wú)量綱度量。并行效率通過(guò)將所獲得的加速率除以該計(jì)算資源數(shù)量的線性縮放加速率來(lái)計(jì)算。為了避免浪費(fèi)計(jì)算時(shí)間,大多數(shù)數(shù)據(jù)中心都有最低并行效率目標(biāo)( 50-70% )的策略。

VASP 用例和區(qū)別

VASP 是電子結(jié)構(gòu)計(jì)算和第一原理分子動(dòng)力學(xué)中應(yīng)用最廣泛的應(yīng)用之一。它提供了最先進(jìn)的算法和方法來(lái)預(yù)測(cè)材料性能,如前面所討論的。

GPU 加速度使用 OpenACC 實(shí)現(xiàn)。 GPU 通信可以使用 NVIDIA HPC-X 或 NVIDIA Collective Communications Library ( NCCL )中的 Magnum IO MPI 庫(kù)來(lái)執(zhí)行。

混合 DFT 的用例和區(qū)別

本節(jié)側(cè)重于使用稱為密度泛函理論( DFT )的量子化學(xué)方法,通過(guò)將精確交換計(jì)算與 DFT 內(nèi)的近似值混合,從而實(shí)現(xiàn)更高精度的預(yù)測(cè),然后稱為混合 DFT 。這種增加的精度有助于根據(jù)實(shí)驗(yàn)結(jié)果確定帶隙。

帶隙是將材料分類為絕緣體、半導(dǎo)體或?qū)w的特性。對(duì)于基于鉿的材料,這種額外的精度是至關(guān)重要的,但計(jì)算復(fù)雜度會(huì)增加。

將這一點(diǎn)與使用多個(gè)原子的需求結(jié)合起來(lái),證明了在 GPU 加速的超級(jí)計(jì)算機(jī)上擴(kuò)展到多個(gè)節(jié)點(diǎn)的需求。幸運(yùn)的是, VASP 中有更高精度的方法。有關(guān)其他功能的更多信息,請(qǐng)參見(jiàn) VASP6 。

在更高的層次上, VASP 是一種量子化學(xué)應(yīng)用程序,它與 NAMD 、 GROMACS 、 LAMMPS 和 AMBER 等其他高性能計(jì)算( HPC )計(jì)算化學(xué)應(yīng)用程序不同,甚至可能更為熟悉。這些代碼側(cè)重于分子動(dòng)力學(xué)( MD ),通過(guò)簡(jiǎn)化原子之間的相互作用,例如將它們視為點(diǎn)電荷。這使得模擬這些原子的運(yùn)動(dòng)(比如因?yàn)闇囟龋┰谟?jì)算上變得廉價(jià)。

另一方面, VASP 在量子水平上處理原子之間的相互作用,因?yàn)樗?jì)算電子如何相互作用并形成化學(xué)鍵。它還可以為量子或從頭計(jì)算 MD ( AIMD )模擬導(dǎo)出力和移動(dòng)原子。這確實(shí)對(duì)本文討論的科學(xué)問(wèn)題很有意思。

然而,這種模擬將包括多次重復(fù)混合 DFT 計(jì)算步驟。雖然后續(xù)步驟可能會(huì)更快地收斂,但每個(gè)單獨(dú)步驟的計(jì)算輪廓不會(huì)改變。這就是為什么我們?cè)谶@里只顯示了一個(gè)離子步驟。

運(yùn)行單節(jié)點(diǎn)或多節(jié)點(diǎn)

許多 VASP 計(jì)算使用的化學(xué)系統(tǒng)足夠小,不需要在 HPC 設(shè)施上執(zhí)行。一些用戶可能會(huì)對(duì)在多個(gè)節(jié)點(diǎn)上擴(kuò)展 VASP 感到不舒服,并在解決方案的過(guò)程中遭受痛苦,甚至可能導(dǎo)致停電或其他故障。其他人可能會(huì)限制他們的模擬大小,這樣運(yùn)行時(shí)就不會(huì)像研究更適合的系統(tǒng)大小那樣繁重。

有多種原因可以促使您多節(jié)點(diǎn)運(yùn)行仿真

在一個(gè)節(jié)點(diǎn)上運(yùn)行模擬需要不可接受的時(shí)間,即使后者可能更有效。

需要大量?jī)?nèi)存且無(wú)法容納在單個(gè)節(jié)點(diǎn)上的大型計(jì)算需要分布式并行。雖然某些計(jì)算量必須在節(jié)點(diǎn)之間復(fù)制,但大多數(shù)計(jì)算量都可以分解。因此,每個(gè)節(jié)點(diǎn)所需的內(nèi)存量大致由參與并行任務(wù)的節(jié)點(diǎn)數(shù)量決定。

有關(guān)多節(jié)點(diǎn)并行性和計(jì)算效率的更多信息,請(qǐng)參閱最近的 HPC for the Age of AI and Cloud Computing 電子書(shū)。

NVIDIA 使用數(shù)據(jù)集 Si256 _ VJT _ HSE06 發(fā)布了 study of multi-node parallelism 。在這項(xiàng)研究中, NVIDIA 提出了一個(gè)問(wèn)題,“對(duì)于這個(gè)數(shù)據(jù)集,以及 V100 系統(tǒng)和 InfiniBand 網(wǎng)絡(luò)的 HPC 環(huán)境,我們可以合理地?cái)U(kuò)展到什么程度?”

Magnum IO 并行通信工具

VASP 使用 NVIDIA Magnum IO 庫(kù)和技術(shù)來(lái)優(yōu)化多 GPU 和多節(jié)點(diǎn)編程,以提供可擴(kuò)展的性能。這些是 NVIDIA HPC SDK 的一部分。

在本文中,我們將介紹兩個(gè)通信庫(kù):

Message Passing Interface ( MPI ):編程分布式內(nèi)存可擴(kuò)展系統(tǒng)的標(biāo)準(zhǔn)。

NVIDIA Collective Communications Library ( NCCL ):使用 MPI 兼容的全聚集、全減少、廣播、減少、減少分散和點(diǎn)對(duì)點(diǎn)例程,實(shí)現(xiàn)高度優(yōu)化的多 GPU 和多節(jié)點(diǎn)集體通信原語(yǔ),以利用 HPC 服務(wù)器節(jié)點(diǎn)內(nèi)和跨 HPC 服務(wù)器節(jié)點(diǎn)的所有可用 GPU 。

VASP 用戶可以在運(yùn)行時(shí)選擇應(yīng)該使用什么通信庫(kù)。當(dāng) MPI 替換為 NCCL 時(shí),性能通常會(huì)顯著提高,這是 VASP 中的默認(rèn)設(shè)置。

在 MPI 上使用 NCCL 時(shí),觀察到的差異有兩個(gè)強(qiáng)烈的原因。

使用 NCCL ,通信由 GPU 啟動(dòng)并具有流感知。這消除了 GPU 到 – CPU 同步的需要,否則,在每個(gè) CPU 啟動(dòng) MPI 通信之前都需要進(jìn)行同步,以確保在 MPI 庫(kù)接觸緩沖區(qū)之前所有 GPU 操作都已完成。 NCCL 通信可以像內(nèi)核一樣在 CUDA 流上排隊(duì),并且可以促進(jìn)異步操作。 CPU 可以對(duì)進(jìn)一步的操作進(jìn)行排隊(duì),以保持 GPU 忙碌。

在 MPI 情況下, GPU 至少在完成 MPI 通信后 CPU 入隊(duì)并啟動(dòng)下一個(gè) GPU 操作所需的時(shí)間內(nèi)是空閑的。最小化 GPU 空閑時(shí)間有助于提高 parallel efficiencies 。

使用兩個(gè)單獨(dú)的 CUDA 流,您可以輕松地使用一個(gè)流進(jìn)行 GPU 計(jì)算,另一個(gè)流用于通信。鑒于這些流是獨(dú)立的,通信可以在后臺(tái)進(jìn)行,并且可能完全隱藏在計(jì)算后面。實(shí)現(xiàn)后者是邁向高并行效率的一大步。此技術(shù)可用于任何啟用雙緩沖方法的程序中。

非阻塞 MPI 通信也可以帶來(lái)類似的好處。但是,您仍然必須手動(dòng)處理 GPU 和 CPU 之間的同步,并具有所描述的性能缺點(diǎn)。

由于非阻塞 MPI 通信也必須在 CPU 側(cè)同步,因此增加了另一層復(fù)雜性。與使用 NCCL 相比,這從一開(kāi)始就需要更詳細(xì)的代碼。然而,由于 MPI 通信是由 CPU 啟動(dòng)的,因此通常沒(méi)有硬件資源自動(dòng)使通信真正異步。

如果您的應(yīng)用程序有 CPU 內(nèi)核可供使用,您可以生成 CPU threads 以確保通信進(jìn)度,但這再次增加了代碼復(fù)雜性。否則,通信可能僅在進(jìn)程進(jìn)入 MPI _ Wait 時(shí)發(fā)生,這與使用阻塞調(diào)用相比沒(méi)有任何優(yōu)勢(shì)。

另一個(gè)需要注意的區(qū)別是,對(duì)于縮減,數(shù)據(jù)在 CPU 上進(jìn)行匯總。在單線程 CPU 內(nèi)存帶寬低于網(wǎng)絡(luò)帶寬的情況下,這可能也是一個(gè)意外的瓶頸。

另一方面, NCCL 使用 GPU 求和,并了解拓?fù)浣Y(jié)構(gòu)。在節(jié)點(diǎn)內(nèi),它可以使用可用的 NVLink 連接,并使用 Mellanox 以太網(wǎng)、 InfiniBand 或類似結(jié)構(gòu)優(yōu)化節(jié)點(diǎn)間通信。

使用 HfO 的計(jì)算建模測(cè)試用例2.

鉿晶體由兩種元素構(gòu)成:鉿( Hf )和氧( O )。在沒(méi)有摻雜劑或空位的理想系統(tǒng)中,對(duì)于每個(gè) Hf 原子,將有兩個(gè) O 原子。描述無(wú)限延伸晶體結(jié)構(gòu)所需的最小原子數(shù)是四個(gè) Hf (黃色)和八個(gè) O (紅色)原子。圖 2 顯示了結(jié)構(gòu)。

hafnia-unit-cell-1.png

圖 2.鉿( HfO )晶胞的可視化2.) 晶體

框線框指定所謂的單位單元。它在所有三維空間中重復(fù),產(chǎn)生無(wú)限延伸的晶體。這張圖片暗示了通過(guò)在晶胞外復(fù)制原子 O5 、 O6 、 O7 和 O8 來(lái)顯示它們與 Hf 原子的各自鍵。該電池的尺寸為 51.4 × 51.9 × 53.2 納米。這不是一個(gè)完美的長(zhǎng)方體,因?yàn)樗囊粋€(gè)角度是 99.7 °而不是 90 °。

最小模型僅明確地處理圖 2 中框中的 12 個(gè)原子。但是,您也可以將長(zhǎng)方體在一個(gè)或多個(gè)空間方向上延長(zhǎng)相應(yīng)邊的整數(shù)倍,并將原子的結(jié)構(gòu)復(fù)制到新創(chuàng)建的空間中。這樣的結(jié)果被稱為超級(jí)細(xì)胞,可以幫助治療在最小模型內(nèi)無(wú)法達(dá)到的效果,例如 1% 的氧空位。

當(dāng)然,用更多的原子處理更大的細(xì)胞在計(jì)算上要求更高。當(dāng)您再添加一個(gè)單元時(shí),在 a 方向上總共有兩個(gè)單元,同時(shí)保留 b 和 c ,這稱為具有 24 個(gè)原子的 2x1x1 超級(jí)單元。

為了本研究的目的,我們只考慮了成本足以證明至少使用少數(shù)超級(jí)計(jì)算機(jī)節(jié)點(diǎn)的超級(jí)單元:

2x2x2 : 96 個(gè)原子, 512 個(gè)軌道

3x3x2 : 216 個(gè)原子, 1280 個(gè)軌道

3x3x3 : 324 個(gè)原子, 1792 個(gè)軌道

4x4x3 : 576 個(gè)原子, 3072 個(gè)軌道

4x4x4 : 768 個(gè)原子, 3840 個(gè)軌道

請(qǐng)記住,計(jì)算工作量與原子數(shù)或晶胞體積不成正比。本案例研究中使用的粗略估計(jì)是,它與任何一個(gè)都成立方比例。

當(dāng)然,這里使用的哈夫尼亞系統(tǒng)只是一個(gè)例子。由于基本算法和通信模式不會(huì)改變,因此這些經(jīng)驗(yàn)教訓(xùn)也可以轉(zhuǎn)移到使用類似大小單元和混合 DFT 的其他系統(tǒng)。

如果你想用 HfO 做一些測(cè)試2.,您可以 下載輸入文件用于本研究。出于版權(quán)原因,我們可能不會(huì)重新分發(fā) POTCAR 文件。此文件在所有超級(jí)單元格中都是相同的。作為 VASP 許可證持有人,您可以通過(guò)以下 Linux 命令從提供的文件中輕松創(chuàng)建它:

# cat PAW_PBE_54/Hf_sv/POTCAR PAW_PBE_54/O/POTCAR > POTCAR

對(duì)于這些定標(biāo)實(shí)驗(yàn),我們強(qiáng)制使用恒定數(shù)量的晶體軌道,或 bands 。這會(huì)略微增加工作量,超出所需的最小值,但不會(huì)影響計(jì)算精度。

如果沒(méi)有這樣做, VASP 將自動(dòng)選擇一個(gè)可以被 GPU 的整數(shù)整除的數(shù)字,這可能會(huì)增加某些節(jié)點(diǎn)計(jì)數(shù)的工作量。我們選擇了可被所有 GPU 計(jì)數(shù)整除的軌道數(shù)。此外,為了更好的計(jì)算可比性, k 點(diǎn)的數(shù)量保持固定為 8 ,即使更大的超級(jí)單元在實(shí)踐中可能不需要這一點(diǎn)。

基于 VASP 的超級(jí)電池建模測(cè)試方法

以下列出的所有基準(zhǔn)測(cè)試均使用最新的 VASP 6.3.2 版本,該版本使用 NVIDIA HPC SDK 22.5 和 CUDA 11.7 編譯。

作為完整參考,makefile.include已可下載。它們?cè)谟?560 個(gè) DGX A100 節(jié)點(diǎn)組成的 NVIDIA Selene supercomputer 上運(yùn)行,每個(gè)節(jié)點(diǎn)提供八個(gè) NVIDIA A100-SXM4-80GB GPU 、八個(gè) NVVIDIA ConnectX-6 HDR InfiniBand 網(wǎng)絡(luò)接口卡( NIC )和兩個(gè) AMD EPYC 7742 CPU 。

為了確保最佳性能,進(jìn)程和線程被固定到 CPU 上的 NUMA 節(jié)點(diǎn),這些節(jié)點(diǎn)為它們將使用的相應(yīng) GPU 和 NIC 提供理想的連接。 AMD EPYC 上的反向 NUMA 節(jié)點(diǎn)編號(hào)產(chǎn)生以下最佳硬件位置的進(jìn)程綁定。

Node local rank CPU NUMA node GPU ID NIC ID
0 3 0 mlx5_0
1 2 1 mlx5_1
2 1 2 mlx5_2
3 0 3 mlx5_3
4 7 4 mlx5_6
5 6 5 mlx5_7
6 5 6 mlx5_8
7 4 7 mlx5_9

表 1.計(jì)算節(jié)點(diǎn) GPU 和 NIC ID 映射

downloadable files 集合中包括一個(gè)名為selenerun-ucx.sh的腳本。該腳本通過(guò)在工作負(fù)載管理器(例如 Slurm )作業(yè)腳本中執(zhí)行以下操作來(lái)包裝對(duì) VASP 的調(diào)用:

# export EXE=/your/path/to/vasp_std # srun ./selenerun-ucx.sh

selenerun-ucx.sh文件必須根據(jù)可用的資源配置進(jìn)行定制,以匹配您的環(huán)境。例如,每個(gè)節(jié)點(diǎn)的 GPU 數(shù)量或 NIC 數(shù)量可能與 Selene 不同,腳本必須反映這些差異。

為了盡可能縮短基準(zhǔn)測(cè)試的計(jì)算時(shí)間,我們通過(guò)在 INCAR 文件中設(shè)置NELM=1,將所有計(jì)算限制為僅一個(gè)電子步驟。我們之所以能做到這一點(diǎn),是因?yàn)槲覀儾魂P(guān)心總能量等科學(xué)結(jié)果,而運(yùn)行一個(gè)電子步驟就足以預(yù)測(cè)整個(gè)運(yùn)行的性能。這樣的運(yùn)行需要 19 次迭代才能與 3x3x2 超級(jí)單元收斂。

當(dāng)然,每個(gè)不同的單元設(shè)置可能需要不同的迭代次數(shù),直到收斂。為了對(duì)縮放行為進(jìn)行基準(zhǔn)測(cè)試,無(wú)論如何都需要比較固定的迭代次數(shù),以保持工作負(fù)載的可比性。

然而,僅使用一次電子迭代評(píng)估跑步的性能會(huì)誤導(dǎo)您,因?yàn)榕渲梦募遣黄胶獾摹Ec凈迭代相比,初始化時(shí)間所占的份額要大得多,而像力計(jì)算這樣的后收斂部分也是如此。

幸運(yùn)的是,電子迭代都需要同樣的努力和時(shí)間。您可以使用以下公式預(yù)測(cè)代表性運(yùn)行的總運(yùn)行時(shí)間:

latex.php?latex=t_%7Btotal%7D+%3D+t_%7Binit%7D+%2B+19+%5Ccdot+t_%7Biter%7D+%2Bt_%7Bpost%7D&bg=ffffff&fg=000&s=0&c=20201002

您可以從 VASP 內(nèi)部 LOOP 計(jì)時(shí)器中提取一次迭代的時(shí)間latex.php?latex=t_%7Binit%7D&bg=ffffff&fg=000&s=0&c=20201002,而迭代后步驟latex.php?latex=t_%7Bpost%7D&bg=ffffff&fg=000&s=0&c=20201002中花費(fèi)的時(shí)間由 LOOP +和 LOOP 計(jì)時(shí)器之間的差值給出。

另一方面,初始化時(shí)間latex.php?latex=t_%7Binit%7D&bg=ffffff&fg=000&s=0&c=20201002是 VASP 中報(bào)告為經(jīng)過(guò)時(shí)間的總時(shí)間與 LOOP +之間的差值。由于一次性分配之類的實(shí)例,第一次迭代所需的時(shí)間稍長(zhǎng),因此這種預(yù)測(cè)有一點(diǎn)錯(cuò)誤。然而,經(jīng)檢查,誤差小于 2% 。

VASP 中混合 DFT 迭代的并行效率結(jié)果

我們首先回顧了 96 個(gè)原子的最小數(shù)據(jù)集: 2x2x2 超級(jí)電池。如今,這個(gè)數(shù)據(jù)集幾乎不需要超級(jí)計(jì)算機(jī)。它的完整運(yùn)行, 19 次迭代,在一個(gè) DGX A100 上大約 40 分鐘內(nèi)完成。

盡管如此,通過(guò) MPI ,它可以以 93% 的并行效率擴(kuò)展到兩個(gè)節(jié)點(diǎn),然后在四個(gè)節(jié)點(diǎn)上下降到 83% ,甚至在八個(gè)節(jié)點(diǎn)上降低到 63% 。

另一方面, NCCL 在兩個(gè)節(jié)點(diǎn)上實(shí)現(xiàn)了近乎理想的 97% 的縮放,在四個(gè)節(jié)點(diǎn)上達(dá)到了 90% ,甚至在八個(gè)節(jié)點(diǎn)上也達(dá)到了 71% 。然而, NCCL 的最大優(yōu)勢(shì)在 16 個(gè)節(jié)點(diǎn)上得到了明顯的證明。與僅使用 MPI 的 6 倍相比,您仍然可以看到> 10 倍的相對(duì)加速。

超過(guò) 64 個(gè)節(jié)點(diǎn)的負(fù)縮放需要解釋。要使用 1024 GPU 運(yùn)行 128 個(gè)節(jié)點(diǎn),還必須使用 1024 個(gè)軌道。其他計(jì)算只使用了 512 ,因此這里的工作量增加了。不過(guò),我們不想在低節(jié)點(diǎn)運(yùn)行中包含如此多的軌道計(jì)數(shù)。

96-atom.png

圖 4.96 原子情況下的縮放和性能。啟用 NCCL 的結(jié)果相對(duì)于禁用 NCCL 的單節(jié)點(diǎn)性能進(jìn)行了縮放 .

下一個(gè)例子已經(jīng)是一個(gè)具有計(jì)算挑戰(zhàn)性的問(wèn)題。在單個(gè)節(jié)點(diǎn)上的 8xA100 上,完成具有 216 個(gè)原子的 3x3x2 超級(jí)電池的完整計(jì)算需要超過(guò) 7.5 小時(shí)。

隨著計(jì)算需求的增加,有更多的時(shí)間在后臺(tái)使用 NCCL 異步完成通信。 VASP 在 16 個(gè)節(jié)點(diǎn)之前保持在 91% 以上,僅在 128 個(gè)節(jié)點(diǎn)上接近 50% 。

使用 MPI , VASP 無(wú)法有效隱藏通信,即使在 8 個(gè)節(jié)點(diǎn)上也無(wú)法達(dá)到 90% ,在 64 個(gè)節(jié)點(diǎn)上已降至 41% 。

對(duì)于下一個(gè)具有 324 個(gè)原子的更大 3x3x3 超級(jí)電池,縮放行為的趨勢(shì)保持不變,這需要一整天的時(shí)間才能在單個(gè)節(jié)點(diǎn)上解決。然而,使用 NCCL 和 MPI 之間的差異顯著增加。在使用 NCCL 的 128 個(gè)節(jié)點(diǎn)上,您可以獲得 2 倍的相對(duì)加速。

如果是一個(gè)更大的 4x4x3 超級(jí)電池,包含 576 個(gè)原子,那么使用一個(gè) DGX A100 進(jìn)行完整計(jì)算需要等待 5 天以上。

然而,對(duì)于如此苛刻的數(shù)據(jù)集,必須討論一個(gè)新的影響:內(nèi)存容量和并行化選項(xiàng)。 VASP 提供在 k 點(diǎn)上分配工作負(fù)載,同時(shí)在這種設(shè)置中復(fù)制內(nèi)存。雖然這對(duì)于標(biāo)準(zhǔn) DFT 運(yùn)行更有效,但也有助于提高混合 DFT 計(jì)算的性能,而且無(wú)需保留未使用的可用內(nèi)存。

對(duì)于較小的數(shù)據(jù)集,即使在所有 k 點(diǎn)上進(jìn)行并行化,也很容易適合 8xA100 GPU ,每個(gè)點(diǎn)都有 80GB 的內(nèi)存。對(duì)于 576 原子數(shù)據(jù)集,在單個(gè)節(jié)點(diǎn)上,情況不再如此,我們必須減少 k 點(diǎn)的并行性。從兩個(gè)節(jié)點(diǎn)開(kāi)始,我們可以再次充分利用它。

雖然在圖 6 中無(wú)法區(qū)分,但在 MPI 情況下,兩個(gè)節(jié)點(diǎn)上存在輕微的超線性縮放( 102% 的并行效率)。這是因?yàn)樵趦蓚€(gè)或更多節(jié)點(diǎn)上提升的一個(gè)節(jié)點(diǎn)上的并行度必然降低。然而,這也是你在實(shí)踐中會(huì)做的。

對(duì)于一個(gè)節(jié)點(diǎn)和兩個(gè)節(jié)點(diǎn)上有 768 個(gè)原子的 4x4x4 超級(jí)電池,我們面臨著類似的情況,但超線性縮放效應(yīng)在那里更不明顯。

我們將 4x4x3 和 4x4x4 超級(jí)單元擴(kuò)展到 256 個(gè)節(jié)點(diǎn)。這相當(dāng)于 2048 A100 GPU 。使用 NCCL ,他們實(shí)現(xiàn)了 67% 甚至 75% 的并行效率。這使您能夠在不到 1.5 小時(shí)的時(shí)間內(nèi)生成結(jié)果,而以前在一個(gè)節(jié)點(diǎn)上幾乎需要 12 天的時(shí)間! NCCL 的使用使這種大型計(jì)算的相對(duì)速度比 MPI 快 3 倍。

576-768-atom.png

圖 6.576 和 768 原子情況下的縮放和性能。啟用 NCCL 的結(jié)果相對(duì)于禁用 NCCL 的單節(jié)點(diǎn)性能進(jìn)行了縮放。

VASP 模擬中使用 NCCL 的建議

VASP 6.3.2 計(jì)算 HfO2.當(dāng) NVIDIA InfiniBand 網(wǎng)絡(luò)增強(qiáng)的 NVIDIA GPU 加速 HPC 環(huán)境可用時(shí),通過(guò)在多個(gè)節(jié)點(diǎn)上使用 NVIDIA NCCL ,范圍從 96 到 768 個(gè)原子的超級(jí)單元實(shí)現(xiàn)了顯著的性能。

vasp-performance-efficiency-625x433.png

圖 7. NCCL 對(duì)類似于 HfO 的 VASP 模擬有益的一般指南2.在具有多個(gè) HDR InfiniBand 互連的 A100 GPU 上運(yùn)行

基于此測(cè)試,我們建議有能力訪問(wèn) HPC 環(huán)境的用戶考慮以下事項(xiàng):

使用 GPU 加速度運(yùn)行除最小計(jì)算之外的所有計(jì)算。

考慮使用 GPU 和多個(gè)節(jié)點(diǎn)運(yùn)行更大的原子系統(tǒng),以盡量縮短洞察時(shí)間。

使用 NCCL 啟動(dòng)所有多節(jié)點(diǎn)計(jì)算,因?yàn)樗粫?huì)在運(yùn)行大型模型時(shí)提高效率。

初始化 NCCL 時(shí)稍微增加的開(kāi)銷值得權(quán)衡。

總結(jié)

總之,您已經(jīng)看到 VASP 中混合 DFT 的可伸縮性取決于數(shù)據(jù)集的大小。鑒于數(shù)據(jù)集越小,每個(gè)個(gè)體 GPU 的計(jì)算負(fù)載越早耗盡,這在某種程度上是意料之中的。

NCCL 也有助于隱藏所需的通信。圖 7 顯示了具有不同節(jié)點(diǎn)數(shù)的特定數(shù)據(jù)集大小的并行效率水平。對(duì)于大多數(shù)計(jì)算密集型數(shù)據(jù)集, VASP 在 32 個(gè)節(jié)點(diǎn)上的并行效率達(dá)到 80% 以上。對(duì)于我們的一些客戶要求的最苛刻的數(shù)據(jù)集,可以在 256 個(gè)節(jié)點(diǎn)上高效地進(jìn)行橫向擴(kuò)展。

beneficial-NCCL-for-VASP-simulation.png

圖 8.作為節(jié)點(diǎn)計(jì)數(shù)函數(shù)的并行效率(對(duì)數(shù)尺度)

VASP 用戶體驗(yàn)

根據(jù)我們與 VASP 用戶的經(jīng)驗(yàn),在 GPU 加速基礎(chǔ)設(shè)施上運(yùn)行 VASP 是一種積極而富有成效的體驗(yàn),使您能夠考慮更大、更復(fù)雜的模型進(jìn)行研究。

在未加速的場(chǎng)景中,您可能運(yùn)行的模型比您想要的小,因?yàn)槟M\(yùn)行時(shí)增長(zhǎng)到無(wú)法忍受的水平。使用具有 GPU 的高性能、低延遲 I / O 基礎(chǔ)設(shè)施,以及具有 Magnum IO 加速技術(shù)(如 NCCL )的 InfiniBand ,可以實(shí)現(xiàn)高效、多節(jié)點(diǎn)并行計(jì)算,并為研究人員提供更大的模型。

HPC 系統(tǒng)管理員的好處

HPC 中心,特別是商業(yè)中心,通常有禁止用戶以低并行效率運(yùn)行作業(yè)的政策。這防止了在短期限內(nèi)或需要高周轉(zhuǎn)率的用戶以犧牲其他用戶的工作等待時(shí)間為代價(jià)使用更多的計(jì)算資源。通常情況下,一個(gè)簡(jiǎn)單的經(jīng)驗(yàn)法則是 50% 的并行效率決定了用戶可能請(qǐng)求的最大節(jié)點(diǎn)數(shù),從而增加了解決問(wèn)題的時(shí)間。

我們?cè)谶@里已經(jīng)表明,通過(guò)將 NCCL 作為 NVIDIA Magnum IO 的一部分,加速 HPC 系統(tǒng)的用戶可以在效率限制內(nèi)保持良好狀態(tài),并在單獨(dú)使用 MPI 時(shí)比可能的工作擴(kuò)展得更遠(yuǎn)。這意味著,在保持 HPC 系統(tǒng)的總體吞吐量處于最高水平的同時(shí),您可以最小化運(yùn)行時(shí)間并最大化模擬次數(shù),以完成新的令人興奮的科學(xué)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    5283

    瀏覽量

    106083
  • AI
    AI
    +關(guān)注

    關(guān)注

    88

    文章

    34810

    瀏覽量

    277254
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于PROFIBUS PROFINET遠(yuǎn)程擴(kuò)展IO的設(shè)計(jì)應(yīng)用

    本文檔內(nèi)容介紹了基于PROFIBUS PROFINET遠(yuǎn)程擴(kuò)展IO的設(shè)計(jì)的產(chǎn)品,以及產(chǎn)品的接線方法以及功能應(yīng)用。
    發(fā)表于 09-25 15:21 ?0次下載

    簡(jiǎn)單介紹單片機(jī)IO擴(kuò)展

    基于上述原因,很多人自然會(huì)想到了IO擴(kuò)展!當(dāng)然,IO擴(kuò)展有很多種方式,比如,用74系列的74HC138(三八譯碼器),只需要3個(gè)IO口就可
    發(fā)表于 04-22 15:12 ?2.3w次閱讀
    簡(jiǎn)單介紹單片機(jī)<b class='flag-5'>IO</b><b class='flag-5'>擴(kuò)展</b>

    dfrobot IO擴(kuò)展板 傳感器擴(kuò)展板簡(jiǎn)介

    Cookie IO擴(kuò)展板是一塊專為初學(xué)者準(zhǔn)備的傳感器IO擴(kuò)展板,采用防反插的接口設(shè)計(jì),在使用過(guò)程中你不必?fù)?dān)心反接的問(wèn)題。
    的頭像 發(fā)表于 12-17 11:34 ?2430次閱讀
    dfrobot <b class='flag-5'>IO</b><b class='flag-5'>擴(kuò)展</b>板 傳感器<b class='flag-5'>擴(kuò)展</b>板簡(jiǎn)介

    PCA9535 IO擴(kuò)展板使用記錄

    PCA9535 IO擴(kuò)展板使用記錄
    發(fā)表于 11-20 12:21 ?37次下載
    PCA9535 <b class='flag-5'>IO</b><b class='flag-5'>擴(kuò)展</b>板使用記錄

    NVIDIA引入云原生超級(jí)計(jì)算架構(gòu)

    隔離統(tǒng)一為超級(jí)計(jì)算服務(wù)。 Magnum IO 是數(shù)據(jù)中心的 I / O 子系統(tǒng),它引入了新的增強(qiáng)功能,以加速多租戶數(shù)據(jù)中心的 I / O 和通信。我們將這些增強(qiáng)功能稱為 Magnum IO
    的頭像 發(fā)表于 11-21 10:43 ?2264次閱讀

    IO擴(kuò)展芯片PCA9557

    項(xiàng)目上用到的一款藍(lán)牙芯片引腳太少,選擇了PCA9557擴(kuò)展IO通過(guò)一路i2c可以擴(kuò)展出8個(gè)IO。這款芯片沒(méi)有中斷輸入,所以更適合做
    發(fā)表于 01-18 10:47 ?13次下載
    <b class='flag-5'>IO</b><b class='flag-5'>擴(kuò)展</b>芯片PCA9557

    Magnum IO存儲(chǔ)的優(yōu)點(diǎn)和實(shí)施

    NVIDIA 尋求盡可能采用現(xiàn)有標(biāo)準(zhǔn),并在必要時(shí)明智地擴(kuò)展這些標(biāo)準(zhǔn)。 POSIX 標(biāo)準(zhǔn)的pread和pwrite提供了存儲(chǔ)和 CPU 緩沖區(qū)之間的拷貝,但尚未啟用到 GPU 緩沖區(qū)的拷貝。隨著時(shí)間的推移, Linux 內(nèi)核中不支持 GPU 緩沖區(qū)的缺點(diǎn)將得到解決。
    的頭像 發(fā)表于 04-10 11:14 ?2230次閱讀
    <b class='flag-5'>Magnum</b> <b class='flag-5'>IO</b>存儲(chǔ)的優(yōu)點(diǎn)和實(shí)施

    使用Magnum IO用于云本機(jī)超級(jí)計(jì)算架構(gòu)

      Magnum IO 消除了 I / O 瓶頸,并公開(kāi)了硬件級(jí)加速引擎、網(wǎng)絡(luò)計(jì)算和擁塞控制方面的最新技術(shù),這些技術(shù)是支持當(dāng)今具有裸機(jī)性能的多租戶數(shù)據(jù)中心所必需的。
    的頭像 發(fā)表于 04-15 14:54 ?1264次閱讀
    使用<b class='flag-5'>Magnum</b> <b class='flag-5'>IO</b>用于云本機(jī)超級(jí)計(jì)算架構(gòu)

    magnum OpenStack容器服務(wù)

    ./oschina_soft/magnum.zip
    發(fā)表于 05-11 09:38 ?0次下載
    <b class='flag-5'>magnum</b> OpenStack容器服務(wù)

    STM32F43如何通過(guò)FPGA擴(kuò)展IO

    STM32F4 與 FPGA 之間通過(guò) FSMC 總線進(jìn)行雙向通信,通過(guò) FPGA 實(shí)現(xiàn) IO擴(kuò)展。本 例中 FPGA 無(wú)地址輸入信號(hào),數(shù)據(jù)線 AD0-AD15 為地址數(shù)據(jù)復(fù)用總
    發(fā)表于 09-05 09:58 ?16次下載

    使用IO和繼電器擴(kuò)展通過(guò)鍵盤控制繼電器

    電子發(fā)燒友網(wǎng)站提供《使用IO和繼電器擴(kuò)展通過(guò)鍵盤控制繼電器.zip》資料免費(fèi)下載
    發(fā)表于 02-07 14:19 ?1次下載
    使用<b class='flag-5'>IO</b>和繼電器<b class='flag-5'>擴(kuò)展</b>器<b class='flag-5'>通過(guò)</b>鍵盤控制繼電器

    使用 NVIDIA AI Enterprise 3.0 優(yōu)化生產(chǎn)級(jí) AI 的性能和效率

    將詳細(xì)介紹以下新功能及其工作原理。 · Magnum IO GPUDirect Storage · VMware vSphere 8.0?的 GPU 虛擬化功能 · Red Hat
    的頭像 發(fā)表于 04-17 23:15 ?922次閱讀
    使用 <b class='flag-5'>NVIDIA</b> AI Enterprise 3.0 優(yōu)化生產(chǎn)級(jí) AI 的性能和效率

    在NVSHMEM中新的通信方法介紹

    使用 NVIDIA Magnum IO NVSHMEM 和 GPUDirect Async 提高 HPC 系統(tǒng)的網(wǎng)絡(luò)性能
    的頭像 發(fā)表于 07-05 16:30 ?3392次閱讀

    io擴(kuò)展模塊常見(jiàn)的種類有哪些?io擴(kuò)展模塊一般又賣多少錢?

    其實(shí)說(shuō)白了,IO擴(kuò)展模塊就是一種用于擴(kuò)展設(shè)備輸入/輸出接口的硬件設(shè)備。根據(jù)不同的應(yīng)用場(chǎng)景和需求,IO擴(kuò)展模塊可以分為多種類型。以下是一些常見(jiàn)
    的頭像 發(fā)表于 07-12 17:59 ?3412次閱讀

    BYDFi正式加入韓國(guó)CODE VASP聯(lián)盟

    、Coinone和Korbit共同構(gòu)建,旨在為VASP(虛擬資產(chǎn)服務(wù)提供商)提供合規(guī)化的技術(shù)支持和配套服務(wù)。通過(guò)這一聯(lián)盟,各成員能夠共同促進(jìn)韓國(guó)虛擬資產(chǎn)交易生態(tài)的安全與合規(guī)發(fā)展。 BYDFi作為新加入的成員
    的頭像 發(fā)表于 12-25 10:43 ?549次閱讀
    主站蜘蛛池模板: 亚洲人成网站在线在线 | 一个人看aaaa免费中文 | 亚洲黄色网址大全 | 国产理论片在线观看 | 色婷婷综合在线视频最新 | 天天夜夜啦啦啦 | 五月婷婷社区 | 91日本视频 | 一区二区视频在线 | 亚洲大香伊人蕉在人依线 | 五月婷婷欧美 | 欧美成人午夜视频 | 欧美超级碰碰 | 男女视频在线观看 | 一本在线免费视频 | 天天射天天射天天射 | 天天爱综合 | 一级毛片免费毛片一级毛片免费 | 国内视频一区二区 | 国产吧在线 | 8050网午夜一级毛片免费不卡 | 人人干人 | 日本国产黄色片 | 国产综合在线观看视频 | 中文一区在线观看 | 久久aa毛片免费播放嗯啊 | 天天干天天上 | 激情网址在线观看 | 国产美女精品在线 | 黄色大片在线免费观看 | 日本老师xxxxxxxxx79 | 99热精品久久只有精品30 | 乱人伦xxxx国语对白 | 狠狠色综合久久久久尤物 | 婷婷影院在线综合免费视频 | 国模极品一区二区三区 | 在线观看黄色网 | 日韩成人在线影院 | 色婷婷综合和线在线 | 日本不卡在线观看免费v | 美女扒尿口给男人桶到爽 |