# TACCL TACCL(Topology Aware Collective Communication Library)は、アルゴリズム設計者が与える低労力な「通信スケッチ(communication sketch)」を手掛かりに、MILP(混合整数線形計画)ベースの合成器で GPU トポロジ向けの集合通信アルゴリズム(A LLGATHER・A LLTOALL・A LLREDUCE 等)を自動生成するツールである。Microsoft Research と University of Texas at Austin が NSDI '23 で発表した([[@2023__NSDI__TACCL - Guiding Collective Algorithm Synthesis using Communication Sketches]])。コードは https://github.com/microsoft/taccl で公開されている。 ## 設計の核心 通信スケッチは (1) 論理トポロジ(物理トポロジの部分集合)、(2) switch-hyperedge 方針(スイッチの接続数最大化/最小化)、(3) アルゴリズムの対称性、(4) 想定データサイズ、の4点だけを設計者に問う。TACCL はこれによって探索空間を絞り、ルーティング緩和 → ヒューリスティックな順序付け → 連続化と厳密スケジューリングの3段に合成問題を分割することで、先行研究 SCCL が単一ノードに限られていた合成技術を DGX-2・NDv2 の多ノードトポロジ(最大32〜128GPU)へスケールさせた。 ## 性能 DGX-2 2ノードの A LLGATHER で [[NCCL]] 比最大6.7倍、NDv2 2ノードの A LLTOALL で最大66%の高速化を達成する。Transformer-XL・BERT のエンドツーエンド分散訓練では、バッチサイズに応じて11%〜2.3倍の高速化を確認した。合成された抽象アルゴリズムは、NCCL を拡張した TACCL ランタイム(TACCL-EF という XML 形式で表現)上で実行される。 ## 運用 TACCL のコードベースはオープンソースで、大学の研究者と Microsoft の Azure GPU 仮想マシン担当者の両方が実際に利用している。(Source: [[@2023__NSDI__TACCL - Guiding Collective Algorithm Synthesis using Communication Sketches]]) ## 関連 - ソース: [[@2023__NSDI__TACCL - Guiding Collective Algorithm Synthesis using Communication Sketches]] - 概念: [[集合通信]] - エンティティ: [[NCCL]] / [[Aashaka Shah]] / [[Vijay Chidambaram]] ## 出典 - [[@2023__NSDI__TACCL - Guiding Collective Algorithm Synthesis using Communication Sketches]]