English | 中文版
附录 F:性能基准测试
本附录提供了 AscendC C++(手工优化的参考内核)与 ascend-rs(Rust 生成)内核在不同 NPU 目标上的交互式性能比较。
测试方法
- 挂钟计时:在内核启动 +
aclrtSynchronizeStream周围使用clock_gettime(CLOCK_MONOTONIC) - 迭代次数:1 次预热 + 10 次计时,取中位数
- 编译:C++ 和 Rust 内核均使用
bisheng在-O2下编译 - 比率:Rust 时间 / C++ 时间(< 1.0 = Rust 更快)
交互式结果
注意:如果交互式表格未渲染(例如 PDF 中),请参见下方的静态表格。
静态汇总
| 内核 | 大小 | 目标 | C++ (ms) | Rust (ms) | 比率 |
|---|---|---|---|---|---|
| relu | 256 | 310P | 0.078 | 0.075 | 0.96x |
| relu | 1024 | 310P | 0.075 | 0.076 | 1.01x |
| relu | 4096 | 310P | 0.075 | 0.076 | 1.01x |
| relu | 16384 | 310P | 0.083 | 0.083 | 1.00x |
| sigmoid | 256 | 310P | 0.075 | 0.075 | 1.00x |
| sigmoid | 1024 | 310P | 0.075 | 0.074 | 0.99x |
| sigmoid | 4096 | 310P | 0.077 | 0.077 | 1.00x |
| sigmoid | 16384 | 310P | 0.086 | 0.086 | 1.00x |
| softmax | 256 | 310P | 0.078 | 0.077 | 0.99x |
| softmax | 1024 | 310P | 0.077 | 0.076 | 0.99x |
| softmax | 4096 | 310P | 0.079 | 0.079 | 1.00x |
| softmax | 16384 | 310P | 0.089 | 0.087 | 0.98x |
| tanh | 256 | 310P | 0.075 | 0.077 | 1.03x |
| tanh | 1024 | 310P | 0.075 | 0.076 | 1.01x |
| tanh | 4096 | 310P | 0.076 | 0.078 | 1.03x |
| tanh | 16384 | 310P | 0.085 | 0.086 | 1.01x |
| gelu | 256 | 910B3 | 0.023 | 0.019 | 0.83x |
| gelu | 1024 | 910B3 | 0.022 | 0.019 | 0.86x |
| gelu | 4096 | 910B3 | 0.023 | 0.019 | 0.83x |
| gelu | 16384 | 910B3 | 0.024 | 0.023 | 0.96x |
| relu | 256 | 910B3 | 0.030 | 0.030 | 1.00x |
| relu | 1024 | 910B3 | 0.028 | 0.028 | 1.00x |
| relu | 4096 | 910B3 | 0.029 | 0.026 | 0.90x |
| relu | 16384 | 910B3 | 0.029 | 0.031 | 1.07x |
| sigmoid | 256 | 910B3 | 0.028 | 0.028 | 1.00x |
| sigmoid | 1024 | 910B3 | 0.028 | 0.024 | 0.86x |
| sigmoid | 4096 | 910B3 | 0.029 | 0.028 | 0.97x |
| sigmoid | 16384 | 910B3 | 0.029 | 0.030 | 1.03x |
| softmax | 256 | 910B3 | 0.031 | 0.032 | 1.03x |
| softmax | 1024 | 910B3 | 0.031 | 0.031 | 1.00x |
| softmax | 4096 | 910B3 | 0.021 | 0.021 | 1.00x |
| tanh | 256 | 910B3 | 0.029 | 0.030 | 1.03x |
| tanh | 1024 | 910B3 | 0.028 | 0.026 | 0.93x |
| tanh | 4096 | 910B3 | 0.028 | 0.028 | 1.00x |
| tanh | 16384 | 910B3 | 0.029 | 0.030 | 1.03x |
基准测试在 Ascend 910B3 和 310P 硬件上采集。由
kernels.db自动生成。