【えいちしーしーえる】

HCCL とは?

公開:
💡 複数のAscendで、計算に必要なデータをそろえる

HCCLは、Huawei Ascendで分散処理を行うための集合通信ライブラリ。複数の計算機器がデータを共有・集約する処理を支え、PyTorchなどのフレームワークから利用する構成があります。

📌 このページのポイント
複数の計算機器でデータをやり取り 機器A機器B機器CHCCLが集合通信を支える共有・集約など、操作に応じて通信
複数のAscendで通信する概念図。矢印はデータ交換の例で、集合通信の実際の経路や順序を示すものではありません。
ひよこ ひよこ
ペンギン先生、AIを複数の機器で動かすと何が難しい?
ペンギン先生 ペンギン先生
計算を分けるだけでなく、途中のデータを交換してそろえる必要があるんだ。HCCLは、Huawei Ascendでそうした分散処理の通信を支えるライブラリだよ。
ひよこ ひよこ
集合通信は普通の送信と違うの?
ペンギン先生 ペンギン先生
一対一で送るだけでなく、複数の参加者でデータを配ったり集約したりする処理だよ。例えば各機器の値を合計し、結果を参加者で共有するAll-Reduceという操作があるね。
ひよこ ひよこ
PyTorchからも使える?
ペンギン先生 ペンギン先生
公式資料では、Ascend Extension for PyTorchのバックエンドにHCCLのAPIを組み込み、PyTorchの集合通信APIから利用する構成を説明しているよ。対応する環境をそろえて使うんだ。
ひよこ ひよこ
ペンギン先生 ペンギン先生
役割の層が違うよ。DeepEP-AscendはMoEのデータ配送などを扱い、その実装でHCCLなどを使う。モデル、目的に沿った通信処理、下支えする通信基盤という関係で読むと分かりやすいね。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「HCCL」って出てきたら「複数のAscendでデータをやり取りする集合通信ライブラリ」と思えばだいたいOK!
📖 おまけ:英語の意味
「Huawei Collective Communication Library」 = Huaweiの集合通信ライブラリ
💬 この頭文字がHCCL。Collectiveは複数の参加者がまとまって行う通信を表すよ。

参考資料

← 用語集にもどる