Application integration#
FlagCX integrates with upper-layer applications such as PyTorch and
PaddlePaddle.
The table below lists the frameworks supported by FlagCX and their related communication operations,
where the batch_XXX and XXX_coalesced ops refer to the usage of group primitives.
Framework |
PyTorch |
PaddlePaddle |
|---|---|---|
send |
โ |
โ |
recv |
โ |
โ |
all_gather |
โ |
โ |
all_gather_into_tensor_coalesced |
โ (in order, no aggregation) |
โ |
all_reduce |
โ |
โ |
all_reduce_coalesced |
โ (in order, no aggregation) |
โ |
all_to_all |
โ |
โ |
all_to_all_single |
โ |
โ |
barrier |
โ |
โ |
batch_isend_irecv |
โ |
โ |
broadcast |
โ |
โ |
gather |
โ |
โ |
reduce |
โ |
โ |
reduce_scatter |
โ |
โ |
reduce_scatter_tensor_coalesced |
โ (in order, no aggregation) |
โ |
scatter |
โ |
โ |
Note that PyTorch support is enabled via the FlagCX Torch plugin, which provides native integration with the PyTorch distributed backend. This plugin has undergone comprehensive validation across diverse communication backends and hardware platforms, ensuring robust functionality, consistent performance, and compatibility in multi-chip heterogeneous environments.
FlagCX Backend |
NCCL |
IXCCL |
CNCL |
MCCL |
XCCL |
DUCCL |
HCCL |
MUSACCL |
RCCL |
TCCL |
ECCL |
|---|---|---|---|---|---|---|---|---|---|---|---|
PyTorch Support |
โ |
โ |
โ |
โ |
โ |
โ |
โ |
โ |
โ |
โ |
โ |
Tip
To enable heterogeneous cross-chip communication using the PyTorch DDP FlagCX backend, it is recommended to use identical PyTorch versions across all nodes. Mismatched versions may lead to initialization failures during process group setup.