flashinfer.comm.Mapping¶
- class flashinfer.comm.Mapping(world_size=1, rank=0, gpus_per_node=8, *, cp_size=1, cp_config=None, tp_size=1, pp_size=1, moe_cluster_size=-1, moe_tp_size=-1, moe_ep_size=-1, attn_tp_size=-1, attn_cp_size=-1, auto_parallel=False, enable_attention_dp=False)¶
A node with 8 GPUs, tp_size = 4, cp_size = 1, pp_size = 2
2 tp groups:
[0, 1, 2, 3]
[4, 5, 6, 7]
4 pp groups:
[0, 4]
[1, 5]
[2, 6]
[3, 7]
A node with 8 GPUs, tp_size = 4, cp_size = 2, pp_size = 1
2 tp groups:
[0, 1, 2, 3]
[4, 5, 6, 7]
4 cp groups:
[0, 4]
[1, 5]
[2, 6]
[3, 7]
A node with 8 GPUs, moe_tp_size = 2, moe_ep_size = 4
4 moe_tp groups:
[0, 4]
[1, 5]
[2, 6]
[3, 7]
2 moe_ep groups:
[0, 1, 2, 3]
[4, 5, 6, 7]
2 nodes with 16 GPUs, moe_tp_size = 2, moe_ep_size = 4, pp_size = 2
8 moe_tp groups:
[0 4]
[1 5]
[2 6]
[3 7]
[8 12]
[9 13]
[10 14]
[11 15]
4 moe_ep groups:
[0, 1, 2, 3]
[4, 5, 6, 7]
[8, 9, 10, 11]
[12, 13, 14, 15]
8 pp groups:
[0 8]
[1 9]
[2 10]
[3 11]
[4 12]
[5 13]
[6 14]
[7 15]
2 nodes with 8 GPUs, tp_size 2, pp_size 2, cp_size 2
4 tp groups: - [0, 1] - [2, 3] - [4, 5] - [6, 7]
4 pp groups: - [0, 4] - [1, 5] - [2, 6] - [3, 7]
4 cp groups: - [0, 2] - [1, 3] - [4, 6] - [5, 7]
- __init__(world_size=1, rank=0, gpus_per_node=8, *, cp_size=1, cp_config=None, tp_size=1, pp_size=1, moe_cluster_size=-1, moe_tp_size=-1, moe_ep_size=-1, attn_tp_size=-1, attn_cp_size=-1, auto_parallel=False, enable_attention_dp=False)¶
Methods
__init__([world_size, rank, gpus_per_node, ...])ep_experts(num_experts)from_dict(mapping)get_local_rank(rank)get_node_rank(rank)has_cp()has_moe_cluster()has_moe_ep()has_moe_tp()has_pp()has_tp()is_first_pp_rank()is_last_pp_rank()is_multi_node()is_second_last_pp_rank()next_pp_rank()pp_layers(num_layers)prev_pp_rank()to_dict()Attributes
cp_groupcp_ranklocal_rankmoe_cluster_groupmoe_cluster_rankmoe_ep_groupmoe_ep_rankmoe_tp_groupmoe_tp_ranknode_rankpp_grouppp_rankranktp_grouptp_rank