衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

星星科技指導員 ? 來源:NVIDIA ? 作者:Karthik Mandakolathur, ? 2022-04-02 14:12 ? 次閱讀

集體通信是現代分布式人工智能培訓工作(如推薦系統和自然語言處理)的一個關鍵性能組成部分。

NVIDIA Collective Communication Library ( NCCL )是一個 Magnum IO 庫,可實現 GPU 加速的集體操作:

集合

全部減少

廣播

減少

減少分散

點對點發送和接收

NCCL 具有拓撲意識,經過優化,可通過 PCIe 、 NVLink 、以太網和 InfiniBand 互連實現高帶寬和低延遲。 NCCL GCP 插件 和 NCCL AWS 插件 通過自定義網絡連接,在流行的云環境中實現高性能 NCCL 操作。

NCCL 版本一直致力于提高集體溝通績效。這篇文章主要關注 NCCL 2.12 版本帶來的改進。

結合 NVLink 和網絡通信

NCCL 2.12 中引入的新功能稱為 PXN ,稱為 PCI × NVLink ,因為它使 GPU 能夠通過 NVLink 然后通過 PCI 與節點上的 NIC 通信。這不是使用 QPI 或其他無法提供全部帶寬的 CPU 協議通過 CPU 。這樣,即使每個 GPU 仍然盡可能多地使用其本地 NIC ,但如果需要,它可以訪問其他 NIC 。

GPU 在中間 GPU 上準備緩沖區,通過 NVLink 寫入,而不是在其本地內存上準備緩沖區供本地 NIC 發送。然后,它通知管理該 NIC 的 CPU 代理數據已就緒,而不是通知其自己的 CPU 代理。 GPU- CPU 同步可能會稍微慢一點,因為它可能必須穿過 CPU 插槽,但數據本身只使用 NVLink 和 PCI 交換機,以保證最大帶寬。

pYYBAGJH6T6AZrvjAAHPZQvB0bY591.png

pYYBAGJH6T6AZrvjAAHPZQvB0bY591.png

圖 1 。軌道優化拓撲

在圖 1 的拓撲中,每個 DGX 系統的 NIC-0 連接到同一個葉交換機( L0 ), NIC-1 連接到同一個葉交換機( L1 ),依此類推。這種設計通常被稱為 rail-optimized 。鐵路優化網絡拓撲有助于最大限度地提高所有流量,降低性能,同時最大限度地減少流量之間的網絡干擾。它還可以通過輕軌之間的連接來降低網絡成本。

PXN 利用節點內 GPU 之間的 NVIDIA NVSwitch 連接,首先將 GPU 上的數據移動到與目的地相同的軌道上,然后在不跨越軌道的情況下將其發送到目的地。這可以實現消息聚合和網絡流量優化。

poYBAGJH6UWAYSoPAAK4YVwsqe8319.png

poYBAGJH6UWAYSoPAAK4YVwsqe8319.png

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

在 NCCL 2.12 之前,圖 X 中的消息會穿過網絡交換機的三個躍點( L0 、 S1 和 L3 ),這可能會導致爭用,并被其他流量減慢。在同一對 NIC 之間傳遞的消息被聚合,以最大限度地提高有效消息速率和網絡帶寬。

消息聚合

使用 PXN ,給定節點上的所有 GPU 將其數據移動到給定目的地的單個 GPU 上。這使得網絡層能夠通過實現新的多接收功能來聚合消息。該功能使遠程 CPU 代理能夠在所有消息準備就緒后立即將它們作為一個整體發送。

例如,如果節點上的 GPU 正在執行 all2all 操作,并且要從遠程節點的所有八個 GPU 接收數據, NCCL 調用具有八個緩沖區和大小的多接收。在發送方方面,網絡層可以等待所有八次發送就緒,然后一次發送所有八條消息,這會對消息速率產生顯著影響。

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

PXN 提高了所有 2 的性能

pYYBAGJH6UaAI_0cAABFu9rpG4Q741.png

pYYBAGJH6UaAI_0cAABFu9rpG4Q741.png

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

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

GPU 之間交換的消息是不同的,無法使用 樹/環等算法(用于 allreduce ) 進行優化。當您在 GPU 的 100 秒內運行十億個以上的參數模型時,消息的數量可能會觸發擁塞、創建網絡熱點,并對性能產生不利影響。

如前所述, PXN 將 NVLink 和 PCI 通信結合起來,以減少通過第二層脊椎交換機的流量,并優化網絡流量。它還通過將多達八條消息聚合為一條消息來提高消息速率。這兩項改進都顯著提高了所有 2 的性能。

所有 reduce 都基于 1:1 GPU:NIC 拓撲

PXN 解決的另一個問題是拓撲的情況,即每個 NIC 附近都有一個 GPU 。環形算法要求兩個 GPU 靠近每個 NIC 。數據必須從網絡傳輸到第一個 GPU ,通過 NVLink 繞過所有 GPU ,然后從最后一個 GPU 退出網絡。第一個和最后一個 GPU 必須都靠近 NIC 。第一個 GPU 必須能夠有效地從網絡接收,最后一個 GPU 必須能夠有效地通過網絡發送。如果只有一個 GPU 靠近給定的 NIC ,則無法關閉環,必須通過 CPU 發送數據,這可能會嚴重影響性能。

有了 PXN ,只要最后一個 GPU 可以通過 NVLink 訪問第一個 GPU ,它就可以將數據移動到第一個 GPU 。數據從那里發送到 NIC ,將所有傳輸保持在 PCI 交換機的本地。

這種情況不僅與每個 PCI 交換機具有一個 GPU 和一個 NIC 的 PCI 拓撲有關,而且當 NCCL 通信器僅包含 GPU 的子集時,也可能發生在其他拓撲上。考慮具有 nVLink 超立方體網格的 8x GPU 互連的節點。

pYYBAGJH6UmAb1W9AAD--ai_XBA379.png

pYYBAGJH6UmAb1W9AAD--ai_XBA379.png

圖 4 。 NVIDIA DGX-1 系統中的網絡拓撲

圖 5 顯示了當通信器包括系統中的所有 8x GPU 時,利用拓撲中可用的高帶寬 NVLink 連接可以形成的環。這是可能的,因為 GPU0 和 GPU1 共享對同一本地 NIC 的訪問。

poYBAGJH6UqAEjcSAADvGdO886I478.png

poYBAGJH6UqAEjcSAADvGdO886I478.png

圖 5 。 NCCL 使用的環形路徑示例

通訊器只能包含 GPU 的一個子集。例如,它可以只包含 GPU 0 、 2 、 4 和 6 。在這種情況下,如果不穿過軌道,就不可能創建環:從 GPU 0 進入節點的環必須從 GPU 2 、 4 或 6 退出,這些環不能直接訪問 GPU 0 ( NIC 0 和 1 )的本地 NIC 。

另一方面, PXN 允許形成環,因為 GPU 2 可以在通過 NIC 0 / 1 之前將數據移回 GPU 0 。

這種情況在模型并行性中很常見,具體取決于模型的拆分方式。例如,如果一個模型在 GPU 0-3 之間拆分,則另一個模型在 GPU 4-7 上運行。這意味著 GPU 0 和 4 負責模型的同一部分,并且在所有節點上創建了一個 NCCL 通信器,其中包含所有 GPU 0 和 4 ,以執行相應層的所有 reduce 操作。沒有 PXN ,這些通訊器無法有效地執行所有 reduce 操作。

到目前為止,實現高效模型并行的唯一方法是在 GPU 0 , 2 , 4 , 6 和 1 , 3 , 5 , 7 上拆分模型,這樣 NCCL 子通信程序將包括 GPU [0 , 1]、[2 , 3]、[4 , 5]和[6 , 7],而不是[0 , 4]、[1 , 5]、[2 , 6]和[3 , 7]。新的 PXN 特性為您提供了更大的靈活性,并簡化了模型并行性的使用。

pYYBAGJH6UuAcFsyAACamqYFxno486.jpg

pYYBAGJH6UuAcFsyAACamqYFxno486.jpg

圖 6 。 NCCL 2.12 PXN 性能改進

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

總結

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

關于作者

Karthik Mandakolathur 是 NVIDIA Magnum IO 的產品經理,專注于加速分布式 AI 、數據分析和 HPC 應用。憑借 20 多年的行業經驗, Karthik 曾在 Broadcom 和 Cisco 擔任高級工程和產品職務。他在沃頓商學院獲得工商管理碩士學位,在斯坦福大學獲得工商管理碩士學位,在印度理工學院獲得工商管理學士學位。他在高性能交換架構領域擁有多項美國專利。

Sylvain Jeaugey 是 NVIDIA 的高級軟件工程師,自 2015 年創建 NCCL 庫以來一直在開發該庫。他在大規模分布式計算方面有 15 年的經驗。他一直致力于各種 MPI 實現,開發和集成高速網絡技術,并設計大型網絡結構。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4777

    瀏覽量

    129362
  • 人工智能
    +關注

    關注

    1796

    文章

    47683

    瀏覽量

    240311
收藏 人收藏

    評論

    相關推薦

    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的哪些內容?
    發表于 12-20 08:04

    案例驗證:分析NCCL-Tests運行日志優化Scale-Out網絡拓撲

    GPU并行計算中需要大規模地在計算節點之間同步參數梯度,產生了大量的集合通信流量。為了優化集合通信性能,業界開發了不同的集合通信庫(xCCL),其核心都是實現 All-Reduce,這也是分布式訓練最主要的通信方式。
    的頭像 發表于 11-15 14:14 ?1250次閱讀
    案例驗證:分析<b class='flag-5'>NCCL</b>-Tests運行日志優化Scale-Out網絡拓撲

    一夜之間,內容行業和大模型行業被這個All in One產品改變了

    重塑創作工作流,自由畫布如何讓智能生產力All in One?
    的頭像 發表于 11-14 16:55 ?2448次閱讀
    一夜之間,內容行業和大模型行業被這個<b class='flag-5'>All</b> in One產品改變了

    天合光能智慧光儲解決方案亮相All Energy展會

    近日,南半球最大的清潔能源展會All Energy在澳大利亞墨爾本展覽中心舉行。作為全球光儲智慧能源解決方案領導者,天合光能(展位號:R101)至尊N型720W在內的多款組件、全新升級的開拓者1P
    的頭像 發表于 10-24 10:33 ?372次閱讀

    聯想集團公布下一階段Smarter AI for all愿景

    全球數字經濟領導企業聯想集團在Tech World上公布了下一階段Smarter AI for all愿景,并展示了全面的人工智能解決方案、服務和設備組合,為全球千行百業和千家萬戶帶來了轉型和切實的投資回報,同時,聯想集團還宣布了一系列關鍵性新技術。
    的頭像 發表于 10-17 09:13 ?617次閱讀

    高效先進的全功能工業級All-in-One觸控電腦解決方案

    研揚的ACP-1075與ACP-1078工業級All-in-One全功能觸控電腦,以優雅的設計、跨平臺支持和靈活部署的特點,加速了從智慧零售到工業網關解決方案等各個領域的項目整合。這兩款產品均配備7
    的頭像 發表于 09-21 08:01 ?184次閱讀
    高效先進的全功能工業級<b class='flag-5'>All</b>-in-One觸控電腦解決方案

    opensuse linux安裝好了交叉工具鏈并且設置了 IDF_PATH,make all的時候會報錯為什么?

    opensuse linux,已經安裝好了交叉工具鏈(官網下載的)并且設置了 IDF_PATH。可以make menuconfig,但是make all的時候會報錯。我的編譯器是裝好的, 可以查看到編譯器信息
    發表于 06-26 06:57

    一機實現All in one,NAS如何玩轉虛擬機!

    操作系統! 今天就與大家分享VirtualBox如何安裝Windows 11: 初步準備 1.下載好的系統提前放在NAS里; 2.登錄鐵威馬TOS系統,打開應用中心,
    的頭像 發表于 05-28 14:44 ?663次閱讀
    一機實現<b class='flag-5'>All</b> in one,NAS如何玩轉虛擬機!

    三星電子開始量產其首款3nm Gate All Around工藝的片上系統

    據外媒報道,三星電子已開始量產其首款3nm Gate All Around(GAA)工藝的片上系統(SoC),預計該芯片預計將用于Galaxy S25系列。
    的頭像 發表于 05-08 15:24 ?657次閱讀

    STM8S003的I2C初始化遇到的疑問求解

    STM8S003的I2C初始化遇到些問題,單片機上電后所有IO口設置為推挽輸出低電平 GPIO_Init(GPIOA, GPIO_PIN_ALL
    發表于 04-23 07:54

    特斯拉大調整:All in帶來的災難 馬斯克財富蒸發超1萬億

    特斯拉大調整:All in帶來的災難 馬斯克財富蒸發超1萬億 特斯拉似乎已經迎來至暗時刻,在激烈的車市競爭中沒有取得預期成績,特斯拉今年一季度交付量38.68萬輛,同比下降近9%,要知道這是特斯拉
    的頭像 發表于 04-18 14:45 ?1050次閱讀

    三星新款All-in-One Pro一體機27英寸4K屏亮相,配備Copilo

    三星最新研發的All-In-OneProPC采用了金屬框體和輕薄外觀設計,底部座身僅厚6.5毫米,旨在為消費者打造更為寬敞的桌面環境。
    的頭像 發表于 04-08 16:22 ?818次閱讀

    使用RT-Thread studio編譯Vision-Board例程后報錯的原因?

    Manager 安裝對應的工具鏈 \"make -j16 all\" terminated with exit code 2. Build might be incomplete. 06.html
    發表于 03-26 08:15

    CubeMx選擇開發板開始工程后彈出Initialize all peripherals with their default Mode是怎么回事?

    CubeMx中選擇開發板開始工程后彈出Initialize all peripherals with their default Mode?選擇yes后無ser
    發表于 03-19 07:28

    中興終端亮相2024巴塞展Better for All全球愿景發布 推出多款新品

    北京時間2月26日,中興通訊亮相巴塞羅那2024年世界移動通信大會(MWC2024),發布終端全球品牌愿景“Better for All”,推出由AI驅動的全場景智慧生態3.0,并發布多款創新產品和技術
    的頭像 發表于 02-27 09:53 ?1026次閱讀
    大发888我的爱好| 百家乐做庄家必赢诀窍| 真人百家乐官网体验金| 百家乐代打公司| 茅台百家乐官网的玩法技巧和规则| 百家乐官网破解软件真的有用吗| 单机百家乐官网的玩法技巧和规则 | 百家乐网络赌博网址| 百家乐推锅| 八大胜百家乐官网的玩法技巧和规则| 百家乐看牌技巧| 缅甸百家乐赌城| 永利娱乐场| 百家乐官网免费下| 财神百家乐官网的玩法技巧和规则| 百家乐7赢6| 六合彩号码| 百家乐官网说明| 半圆百家乐桌布| 大发888游戏平台 df888ylcxz46| 车险| 百家乐官网管家| 百家乐官网庄9点| 百家乐百家乐游戏| 大发888-娱乐平台| 百家乐官网发牌器8副| 至富百家乐官网的玩法技巧和规则 | 舟山星空棋牌首页| 大都会百家乐官网的玩法技巧和规则 | 永利高百家乐官网开户| 有百家乐的游戏平台| 安西县| 百家乐技巧-百家乐开户指定代理网址 | 县级市| 百家乐高手的心得| 百家乐官网注册送免费金| 将军百家乐的玩法技巧和规则| 百家乐官网开发软件| 太阳城二手房| KK百家乐官网娱乐城 | 百家乐官网平台要多少钱|