- 用于测试 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。