- 用于测试 NVIDIA GPU 和 Ascend NPU 的实际算力;
- 用于测试 NVIDIA GPU 和 Ascend NPU 的实际节点内通信带宽。
数据类型 | 加速器 | 实测算力 TFlops |
---|---|---|
BF16 | A800 | 286 |
BF16 | 910B | 328 |
FP32 | A800 | 19 |
FP32 | 910B | 87 |
卡数 | 加速器 | all_gather 带宽GB/s | all_reduce 带宽GB/s |
---|---|---|---|
2 | A800 | 230 | 143 |
2 | 910B | 38 | 18 |
4 | A800 | 190 | 104 |
4 | 910B | 64 | 30 |
8 | A800 | 173 | 89 |
8 | 910B | 149 | 72 |
算子 | 加速器 | 显存带宽GB/s |
---|---|---|
torch.exp |
A800 | 884 |
torch.exp |
910B | 642 |
torch.nn.Sigmoid |
A800 | 887 |
torch.nn.Sigmoid |
910B | 640 |
|
A800 | 176 |
|
910B | 128 |
- 910B 安装相关 CANN(8.0.0.beta1), torch(cpu+2.4.0) 和 torch_npu(2.4.0.post2) 等。详细参考;
- 安装本项目依赖。
python bench_flops.py ${dtype}
, dtype 可取 fp32/fp16/bf16。
torchrun --nproc-per-node=${卡数} bench_collective.py ${通信算子}
通信算子目前支持 all_reduce
和 all_gather
。