应用集成

应用集成#

FlagCX 与上层应用如 PyTorchPaddlePaddle 集成。 下表列出了 FlagCX 支持的框架及其相关通信操作,其中 batch_XXXXXX_coalesced 操作指的是使用组原语。

Framework

PyTorch

PaddlePaddle

send

recv

all_gather

all_gather_into_tensor_coalesced

✓ (按顺序,无聚合)

all_reduce

all_reduce_coalesced

✓ (按顺序,无聚合)

all_to_all

all_to_all_single

barrier

batch_isend_irecv

broadcast

gather

reduce

reduce_scatter

reduce_scatter_tensor_coalesced

✓ (按顺序,无聚合)

scatter

注意,PyTorch 支持通过 FlagCX Torch 插件启用,该插件提供与 PyTorch 分布式后端的原生集成。 该插件已在多种通信后端和硬件平台上进行了全面验证, 确保在多芯片异构环境中具有稳健的功能、一致的性能和兼容性。

FlagCX Backend

NCCL

IXCCL

CNCL

MCCL

XCCL

DUCCL

HCCL

MUSACCL

RCCL

TCCL

ECCL

PCCL

PyTorch Support

小技巧

要使用 PyTorch DDP FlagCX 后端启用异构跨芯片通信, 建议在所有节点上使用相同的 PyTorch 版本。 版本不匹配可能导致进程组设置期间初始化失败。