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_group

cp_rank

local_rank

moe_cluster_group

moe_cluster_rank

moe_ep_group

moe_ep_rank

moe_tp_group

moe_tp_rank

node_rank

pp_group

pp_rank

rank

tp_group

tp_rank