MoE Dispatch 示例目录

本目录聚合 dispatch 相关示例,公共数据生成和校验脚本放在父级 scripts/,具体算子实现放在独立子目录。

目录结构

examples/dispatch/
├── scripts/
│   ├── data_gen.py           # classic 与 doubleplane 共用的数据生成脚本
│   └── check_dispatch.py     # classic 与 doubleplane 共用的结果校验脚本
├── dispatch_classic/
│   ├── main.cpp
│   ├── dispatch_kernel.cpp
│   └── scripts/run.sh
└── dispatch_doubleplane/
    ├── main.cpp
    ├── dispatch_doubleplane_kernel.cpp
    └── scripts/run.sh

如何使用

经典 dispatch:

cd examples/dispatch/dispatch_classic
bash scripts/run.sh -pes 2 -bs 8 -h 16 -topk 2 -expertPerPe 2 -type int32_t

双平面 dispatch:

cd examples/dispatch/dispatch_doubleplane
bash scripts/run.sh -pes 2 -bs 8 -h 16 -topk 2 -expertPerPe 2 -type int32_t

每个 run.sh 都会在当前 case 目录下生成 golden/output/,并调用父级公共脚本 ../scripts/data_gen.py../scripts/check_dispatch.py

选择建议

先使用 dispatch_classic 建立正确性和性能基线;当 bshtopk 较大且路由分布存在大 segment 时,再使用 dispatch_doubleplane 对比 comm_onlyfull_op 指标。