一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

使用NCCL 2.12將所有all2all性能翻倍

星星科技指導(dǎo)員 ? 來(lái)源:NVIDIA ? 作者:Karthik Mandakolathur, ? 2022-04-02 14:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

集體通信是現(xiàn)代分布式人工智能培訓(xùn)工作(如推薦系統(tǒng)和自然語(yǔ)言處理)的一個(gè)關(guān)鍵性能組成部分。

NVIDIA Collective Communication Library ( NCCL )是一個(gè) Magnum IO 庫(kù),可實(shí)現(xiàn) GPU 加速的集體操作:

集合

全部減少

廣播

減少

減少分散

點(diǎn)對(duì)點(diǎn)發(fā)送和接收

NCCL 具有拓?fù)湟庾R(shí),經(jīng)過(guò)優(yōu)化,可通過(guò) PCIe 、 NVLink 、以太網(wǎng)和 InfiniBand 互連實(shí)現(xiàn)高帶寬和低延遲。 NCCL GCP 插件 和 NCCL AWS 插件 通過(guò)自定義網(wǎng)絡(luò)連接,在流行的云環(huán)境中實(shí)現(xiàn)高性能 NCCL 操作。

NCCL 版本一直致力于提高集體溝通績(jī)效。這篇文章主要關(guān)注 NCCL 2.12 版本帶來(lái)的改進(jìn)。

結(jié)合 NVLink 和網(wǎng)絡(luò)通信

NCCL 2.12 中引入的新功能稱(chēng)為 PXN ,稱(chēng)為 PCI × NVLink ,因?yàn)樗?GPU 能夠通過(guò) NVLink 然后通過(guò) PCI 與節(jié)點(diǎn)上的 NIC 通信。這不是使用 QPI 或其他無(wú)法提供全部帶寬的 CPU 協(xié)議通過(guò) CPU 。這樣,即使每個(gè) GPU 仍然盡可能多地使用其本地 NIC ,但如果需要,它可以訪問(wèn)其他 NIC 。

GPU 在中間 GPU 上準(zhǔn)備緩沖區(qū),通過(guò) NVLink 寫(xiě)入,而不是在其本地內(nèi)存上準(zhǔn)備緩沖區(qū)供本地 NIC 發(fā)送。然后,它通知管理該 NIC 的 CPU 代理數(shù)據(jù)已就緒,而不是通知其自己的 CPU 代理。 GPU- CPU 同步可能會(huì)稍微慢一點(diǎn),因?yàn)樗赡鼙仨毚┻^(guò) CPU 插槽,但數(shù)據(jù)本身只使用 NVLink 和 PCI 交換機(jī),以保證最大帶寬。

pYYBAGJH6T6AZrvjAAHPZQvB0bY591.png

pYYBAGJH6T6AZrvjAAHPZQvB0bY591.png

圖 1 。軌道優(yōu)化拓?fù)?/p>

在圖 1 的拓?fù)渲?,每個(gè) DGX 系統(tǒng)的 NIC-0 連接到同一個(gè)葉交換機(jī)( L0 ), NIC-1 連接到同一個(gè)葉交換機(jī)( L1 ),依此類(lèi)推。這種設(shè)計(jì)通常被稱(chēng)為 rail-optimized 。鐵路優(yōu)化網(wǎng)絡(luò)拓?fù)溆兄谧畲笙薅鹊靥岣咚辛髁浚档托阅?,同時(shí)最大限度地減少流量之間的網(wǎng)絡(luò)干擾。它還可以通過(guò)輕軌之間的連接來(lái)降低網(wǎng)絡(luò)成本。

PXN 利用節(jié)點(diǎn)內(nèi) GPU 之間的 NVIDIA NVSwitch 連接,首先將 GPU 上的數(shù)據(jù)移動(dòng)到與目的地相同的軌道上,然后在不跨越軌道的情況下將其發(fā)送到目的地。這可以實(shí)現(xiàn)消息聚合和網(wǎng)絡(luò)流量?jī)?yōu)化。

poYBAGJH6UWAYSoPAAK4YVwsqe8319.png

poYBAGJH6UWAYSoPAAK4YVwsqe8319.png

圖 2 。從 DGX-A 中的 GPU0 到 DGX-B 中的 GPU3 的消息路徑示例

在 NCCL 2.12 之前,圖 X 中的消息會(huì)穿過(guò)網(wǎng)絡(luò)交換機(jī)的三個(gè)躍點(diǎn)( L0 、 S1 和 L3 ),這可能會(huì)導(dǎo)致?tīng)?zhēng)用,并被其他流量減慢。在同一對(duì) NIC 之間傳遞的消息被聚合,以最大限度地提高有效消息速率和網(wǎng)絡(luò)帶寬。

消息聚合

使用 PXN ,給定節(jié)點(diǎn)上的所有 GPU 將其數(shù)據(jù)移動(dòng)到給定目的地的單個(gè) GPU 上。這使得網(wǎng)絡(luò)層能夠通過(guò)實(shí)現(xiàn)新的多接收功能來(lái)聚合消息。該功能使遠(yuǎn)程 CPU 代理能夠在所有消息準(zhǔn)備就緒后立即將它們作為一個(gè)整體發(fā)送。

例如,如果節(jié)點(diǎn)上的 GPU 正在執(zhí)行 all2all 操作,并且要從遠(yuǎn)程節(jié)點(diǎn)的所有八個(gè) GPU 接收數(shù)據(jù), NCCL 調(diào)用具有八個(gè)緩沖區(qū)和大小的多接收。在發(fā)送方方面,網(wǎng)絡(luò)層可以等待所有八次發(fā)送就緒,然后一次發(fā)送所有八條消息,這會(huì)對(duì)消息速率產(chǎn)生顯著影響。

消息聚合的另一個(gè)方面是,現(xiàn)在在給定目的地的所有 GPU 節(jié)點(diǎn)之間共享連接。這意味著要建立的連接更少。如果路由算法依賴(lài)于有很多不同的連接來(lái)獲得良好的熵,這也會(huì)影響路由效率。

PXN 提高了所有 2 的性能

pYYBAGJH6UaAI_0cAABFu9rpG4Q741.png

pYYBAGJH6UaAI_0cAABFu9rpG4Q741.png

圖 3 。所有 2 跨四個(gè)參與流程的所有集體操作

圖 3 顯示了 all2all 需要從每個(gè)進(jìn)程到其他每個(gè)進(jìn)程的通信。換句話(huà)說(shuō),在 N – GPU 集群中,作為 all2all 操作的一部分交換的消息數(shù)是$ O ( N ^{ 2 })$。

GPU 之間交換的消息是不同的,無(wú)法使用 樹(shù)/環(huán)等算法(用于 allreduce ) 進(jìn)行優(yōu)化。當(dāng)您在 GPU 的 100 秒內(nèi)運(yùn)行十億個(gè)以上的參數(shù)模型時(shí),消息的數(shù)量可能會(huì)觸發(fā)擁塞、創(chuàng)建網(wǎng)絡(luò)熱點(diǎn),并對(duì)性能產(chǎn)生不利影響。

如前所述, PXN 將 NVLink 和 PCI 通信結(jié)合起來(lái),以減少通過(guò)第二層脊椎交換機(jī)的流量,并優(yōu)化網(wǎng)絡(luò)流量。它還通過(guò)將多達(dá)八條消息聚合為一條消息來(lái)提高消息速率。這兩項(xiàng)改進(jìn)都顯著提高了所有 2 的性能。

所有 reduce 都基于 1:1 GPU:NIC 拓?fù)?/p>

PXN 解決的另一個(gè)問(wèn)題是拓?fù)涞那闆r,即每個(gè) NIC 附近都有一個(gè) GPU 。環(huán)形算法要求兩個(gè) GPU 靠近每個(gè) NIC 。數(shù)據(jù)必須從網(wǎng)絡(luò)傳輸?shù)降谝粋€(gè) GPU ,通過(guò) NVLink 繞過(guò)所有 GPU ,然后從最后一個(gè) GPU 退出網(wǎng)絡(luò)。第一個(gè)和最后一個(gè) GPU 必須都靠近 NIC 。第一個(gè) GPU 必須能夠有效地從網(wǎng)絡(luò)接收,最后一個(gè) GPU 必須能夠有效地通過(guò)網(wǎng)絡(luò)發(fā)送。如果只有一個(gè) GPU 靠近給定的 NIC ,則無(wú)法關(guān)閉環(huán),必須通過(guò) CPU 發(fā)送數(shù)據(jù),這可能會(huì)嚴(yán)重影響性能。

有了 PXN ,只要最后一個(gè) GPU 可以通過(guò) NVLink 訪問(wèn)第一個(gè) GPU ,它就可以將數(shù)據(jù)移動(dòng)到第一個(gè) GPU 。數(shù)據(jù)從那里發(fā)送到 NIC ,將所有傳輸保持在 PCI 交換機(jī)的本地。

這種情況不僅與每個(gè) PCI 交換機(jī)具有一個(gè) GPU 和一個(gè) NIC 的 PCI 拓?fù)溆嘘P(guān),而且當(dāng) NCCL 通信器僅包含 GPU 的子集時(shí),也可能發(fā)生在其他拓?fù)渖稀?紤]具有 nVLink 超立方體網(wǎng)格的 8x GPU 互連的節(jié)點(diǎn)。

pYYBAGJH6UmAb1W9AAD--ai_XBA379.png

pYYBAGJH6UmAb1W9AAD--ai_XBA379.png

圖 4 。 NVIDIA DGX-1 系統(tǒng)中的網(wǎng)絡(luò)拓?fù)?/p>

圖 5 顯示了當(dāng)通信器包括系統(tǒng)中的所有 8x GPU 時(shí),利用拓?fù)渲锌捎玫母邘?NVLink 連接可以形成的環(huán)。這是可能的,因?yàn)?GPU0 和 GPU1 共享對(duì)同一本地 NIC 的訪問(wèn)。

poYBAGJH6UqAEjcSAADvGdO886I478.png

poYBAGJH6UqAEjcSAADvGdO886I478.png

圖 5 。 NCCL 使用的環(huán)形路徑示例

通訊器只能包含 GPU 的一個(gè)子集。例如,它可以只包含 GPU 0 、 2 、 4 和 6 。在這種情況下,如果不穿過(guò)軌道,就不可能創(chuàng)建環(huán):從 GPU 0 進(jìn)入節(jié)點(diǎn)的環(huán)必須從 GPU 2 、 4 或 6 退出,這些環(huán)不能直接訪問(wèn) GPU 0 ( NIC 0 和 1 )的本地 NIC 。

另一方面, PXN 允許形成環(huán),因?yàn)?GPU 2 可以在通過(guò) NIC 0 / 1 之前將數(shù)據(jù)移回 GPU 0 。

這種情況在模型并行性中很常見(jiàn),具體取決于模型的拆分方式。例如,如果一個(gè)模型在 GPU 0-3 之間拆分,則另一個(gè)模型在 GPU 4-7 上運(yùn)行。這意味著 GPU 0 和 4 負(fù)責(zé)模型的同一部分,并且在所有節(jié)點(diǎn)上創(chuàng)建了一個(gè) NCCL 通信器,其中包含所有 GPU 0 和 4 ,以執(zhí)行相應(yīng)層的所有 reduce 操作。沒(méi)有 PXN ,這些通訊器無(wú)法有效地執(zhí)行所有 reduce 操作。

到目前為止,實(shí)現(xiàn)高效模型并行的唯一方法是在 GPU 0 , 2 , 4 , 6 和 1 , 3 , 5 , 7 上拆分模型,這樣 NCCL 子通信程序?qū)?GPU [0 , 1]、[2 , 3]、[4 , 5]和[6 , 7],而不是[0 , 4]、[1 , 5]、[2 , 6]和[3 , 7]。新的 PXN 特性為您提供了更大的靈活性,并簡(jiǎn)化了模型并行性的使用。

pYYBAGJH6UuAcFsyAACamqYFxno486.jpg

pYYBAGJH6UuAcFsyAACamqYFxno486.jpg

圖 6 。 NCCL 2.12 PXN 性能改進(jìn)

圖 6 對(duì)比了在使用和不使用 PXN 的情況下完成所有集合操作的時(shí)間。此外, PXN 為所有 reduce 操作提供了更靈活的 GPU 選擇。

總結(jié)

NCCL 2.12 版本顯著提高了所有 2 所有通信集體性能。 Download 最新的 NCCL 版本,并親身體驗(yàn)改進(jìn)后的性能。

關(guān)于作者

Karthik Mandakolathur 是 NVIDIA Magnum IO 的產(chǎn)品經(jīng)理,專(zhuān)注于加速分布式 AI 、數(shù)據(jù)分析和 HPC 應(yīng)用。憑借 20 多年的行業(yè)經(jīng)驗(yàn), Karthik 曾在 Broadcom 和 Cisco 擔(dān)任高級(jí)工程和產(chǎn)品職務(wù)。他在沃頓商學(xué)院獲得工商管理碩士學(xué)位,在斯坦福大學(xué)獲得工商管理碩士學(xué)位,在印度理工學(xué)院獲得工商管理學(xué)士學(xué)位。他在高性能交換架構(gòu)領(lǐng)域擁有多項(xiàng)美國(guó)專(zhuān)利。

Sylvain Jeaugey 是 NVIDIA 的高級(jí)軟件工程師,自 2015 年創(chuàng)建 NCCL 庫(kù)以來(lái)一直在開(kāi)發(fā)該庫(kù)。他在大規(guī)模分布式計(jì)算方面有 15 年的經(jīng)驗(yàn)。他一直致力于各種 MPI 實(shí)現(xiàn),開(kāi)發(fā)和集成高速網(wǎng)絡(luò)技術(shù),并設(shè)計(jì)大型網(wǎng)絡(luò)結(jié)構(gòu)。

審核編輯:郭婷

聲明:本文內(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)投訴
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    4944

    瀏覽量

    131218
  • 人工智能
    +關(guān)注

    關(guān)注

    1806

    文章

    49011

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    元能芯:用All-in-One芯片革新電機(jī)芯片市場(chǎng)

    引言:一家芯片初創(chuàng)公司的崛起 在成立僅一年多的時(shí)間里,元能芯已經(jīng)憑借獨(dú)特的All-in-One全集成芯片技術(shù)迅速崛起。 從All-in-One芯片創(chuàng)新設(shè)計(jì)到大功率技術(shù)難題的破解,從國(guó)內(nèi)市場(chǎng)的紅海競(jìng)爭(zhēng)
    的頭像 發(fā)表于 07-07 13:59 ?168次閱讀
    元能芯:用<b class='flag-5'>All</b>-in-One芯片革新電機(jī)芯片市場(chǎng)

    軟通動(dòng)力出席ALL IN 2025人力資源服務(wù)展

    此前,6月24-25日,由智享會(huì)主辦的中國(guó)人力資源領(lǐng)域極具影響力的專(zhuān)業(yè)展會(huì)ALL IN 2025 人力資源服務(wù)展在北京隆重啟幕。本屆展會(huì)吸引了超過(guò)300家全球領(lǐng)先企業(yè)和機(jī)構(gòu)參展,并迎來(lái)了6000名人力資源專(zhuān)業(yè)人士、企業(yè)高管及行業(yè)專(zhuān)家共襄盛舉。
    的頭像 發(fā)表于 07-01 09:22 ?340次閱讀

    HarmonyOS NEXT應(yīng)用開(kāi)發(fā)-Notification Kit(用戶(hù)通知服務(wù))notificationManager.cancelAll

    Phone2in1TabletCarWearable cancelAll(): Promise 取消當(dāng)前應(yīng)用所有已發(fā)布的通知。使用Promise異步回調(diào)。 系統(tǒng)能力
    發(fā)表于 04-30 17:25

    ALL高速PCB設(shè)計(jì)技術(shù)(中文版)

    純分享貼,有需要可以直接下載附件獲取完整資料! (如果內(nèi)容有幫助可以關(guān)注、點(diǎn)贊、評(píng)論支持一下哦~)
    發(fā)表于 04-28 17:45

    NucleiStudio_IDE下調(diào)試一直報(bào)all ones錯(cuò)誤怎么解決?

    在看到大佬們的帖子之后,自己也嘗試hummingbird v2移植到賽靈思的板卡上,但是在IDE里一直報(bào)錯(cuò) 一開(kāi)始用的是Sipeed的調(diào)試器,后來(lái)買(mǎi)了芯來(lái)家的,都是同樣的問(wèn)題 板卡的連線如圖,使用芯來(lái)調(diào)試器時(shí)候,店家說(shuō)殼子套反了 XDC中的約束為 搗鼓了好幾天,有
    發(fā)表于 03-07 09:50

    dac8563中的Write to DAC-A input register and update all DACs中的 update all DACs具體是什么意思呀?

    dac8563中的Write to DAC-A input register and update all DACs中的 update all DACs具體是什么意思呀,是更新DACs的哪些內(nèi)容?
    發(fā)表于 12-20 08:04

    臺(tái)積電分享 2nm 工藝深入細(xì)節(jié):功耗降低 35% 或性能提升15%!

    下),同時(shí)其晶體管密度是上一代3nm制程的1.15倍。這些顯著優(yōu)勢(shì)主要得益于臺(tái)積電的全柵極(Gate-All-Around, GAA)納米片晶體管、N2 NanoFlex設(shè)計(jì)技術(shù)協(xié)同優(yōu)化(DTCO)能力,以及IEDM會(huì)上詳述的其他創(chuàng)新。 全柵極納米片晶體管允許設(shè)計(jì)師調(diào)整通
    的頭像 發(fā)表于 12-16 09:57 ?814次閱讀
    臺(tái)積電分享 <b class='flag-5'>2</b>nm 工藝深入細(xì)節(jié):功耗降低 35% 或<b class='flag-5'>性能</b>提升15%!

    案例驗(yàn)證:分析NCCL-Tests運(yùn)行日志優(yōu)化Scale-Out網(wǎng)絡(luò)拓?fù)?/a>

    GPU并行計(jì)算中需要大規(guī)模地在計(jì)算節(jié)點(diǎn)之間同步參數(shù)梯度,產(chǎn)生了大量的集合通信流量。為了優(yōu)化集合通信性能,業(yè)界開(kāi)發(fā)了不同的集合通信庫(kù)(xCCL),其核心都是實(shí)現(xiàn) All-Reduce,這也是分布式訓(xùn)練最主要的通信方式。
    的頭像 發(fā)表于 11-15 14:14 ?2060次閱讀
    案例驗(yàn)證:分析<b class='flag-5'>NCCL</b>-Tests運(yùn)行日志優(yōu)化Scale-Out網(wǎng)絡(luò)拓?fù)? />    </a>
</div>                              <div   id=

    一夜之間,內(nèi)容行業(yè)和大模型行業(yè)被這個(gè)All in One產(chǎn)品改變了

    重塑創(chuàng)作工作流,自由畫(huà)布如何讓智能生產(chǎn)力All in One?
    的頭像 發(fā)表于 11-14 16:55 ?2968次閱讀
    一夜之間,內(nèi)容行業(yè)和大模型行業(yè)被這個(gè)<b class='flag-5'>All</b> in One產(chǎn)品改變了

    請(qǐng)問(wèn)PCM512X是否有默認(rèn)配置值?

    的N0/N1/N2/D1/D2也不是全為0的。N0是等于0X7FFFFF,其他的是0。 是否RESET后,BIQUAD的值就是ALL PASS的呢? 還是要對(duì) 所有的 BIQUAD都要
    發(fā)表于 10-28 06:12

    天合光能智慧光儲(chǔ)解決方案亮相All Energy展會(huì)

    近日,南半球最大的清潔能源展會(huì)All Energy在澳大利亞墨爾本展覽中心舉行。作為全球光儲(chǔ)智慧能源解決方案領(lǐng)導(dǎo)者,天合光能(展位號(hào):R101)至尊N型720W在內(nèi)的多款組件、全新升級(jí)的開(kāi)拓者1P
    的頭像 發(fā)表于 10-24 10:33 ?638次閱讀

    聯(lián)想集團(tuán)公布下一階段Smarter AI for all愿景

    全球數(shù)字經(jīng)濟(jì)領(lǐng)導(dǎo)企業(yè)聯(lián)想集團(tuán)在Tech World上公布了下一階段Smarter AI for all愿景,并展示了全面的人工智能解決方案、服務(wù)和設(shè)備組合,為全球千行百業(yè)和千家萬(wàn)戶(hù)帶來(lái)了轉(zhuǎn)型和切實(shí)的投資回報(bào),同時(shí),聯(lián)想集團(tuán)還宣布了一系列關(guān)鍵性新技術(shù)。
    的頭像 發(fā)表于 10-17 09:13 ?1062次閱讀

    tlv320adc5140配置完成讀取0x77狀態(tài)寄存器顯示Device is in active mode with all ADC or PDM channels turned of的原因?

    tlv320adc5140配置完成讀取0x77狀態(tài)寄存器顯示Device is in active mode with all ADC or PDM channels turned of,這是
    發(fā)表于 10-11 08:03

    高效先進(jìn)的全功能工業(yè)級(jí)All-in-One觸控電腦解決方案

    研揚(yáng)的ACP-1075與ACP-1078工業(yè)級(jí)All-in-One全功能觸控電腦,以?xún)?yōu)雅的設(shè)計(jì)、跨平臺(tái)支持和靈活部署的特點(diǎn),加速了從智慧零售到工業(yè)網(wǎng)關(guān)解決方案等各個(gè)領(lǐng)域的項(xiàng)目整合。這兩款產(chǎn)品均配備7
    的頭像 發(fā)表于 09-21 08:01 ?462次閱讀
    高效先進(jìn)的全功能工業(yè)級(jí)<b class='flag-5'>All</b>-in-One觸控電腦解決方案

    使用X-NUCLEO-SAFEA1與stm32l151進(jìn)行連接,hal庫(kù)生成歷程All_Use_Cases,運(yùn)行之后都返回48的原因?

    本人使用X-NUCLEO-SAFEA1開(kāi)發(fā)板與stm32l151進(jìn)行連接,使用hal庫(kù)生成歷程All_Use_Cases,運(yùn)行之后說(shuō)有測(cè)試都返回48 這是什么原因呢,望請(qǐng)教
    發(fā)表于 07-24 06:09