多厂商 GPU 稠密 GEMM FLOPS 基准测试工具(NVIDIA CUDA + AMD ROCm)
🤖 本项目的代码编写、GPU 性能测试与更新迭代主要由 AI 完成。
gpu-flops-bench/
├── README.md # 本文件(统一对比)
├── LICENSE # MIT
├── run_bench.sh # ⭐ 统一入口(自动检测 GPU 厂商)
├── nvidia/ # NVIDIA CUDA 版 (cuBLASLt)
│ ├── src/gpu_dense_bench.cu # 主程序 (C++17, 自给自足, 无需 Python)
│ ├── run_gpu_flops.sh / .bat # 一键编译+运行
│ ├── GPU_TEST_CHECKLIST.md # 已测 GPU 检查清单
│ ├── results/ # 原始测试结果 (md/csv/json)
│ └── tools/run_multi_gpu.py # 早期 Python 备用脚本
├── amd/ # AMD ROCm 版 (待实现)
│ └── README.md # 占位
└── docs/
| GPU | 架构 | CC | 显存 | FP64 | FP32 | TF32 | BF16 | FP16 | INT8 | E4M3 | NVFP4 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| H200 NVL | Hopper | 9.0 | 141G | 59.0 | 47.3 | 426 | 853 | 854 | 1630 | 1661 | — |
| RTX PRO 6000 | Blackwell | 12.0 | 96G | 1.5 | 83.6 | 225 | 458 | 457 | 845 | 905 | 1608 |
| RTX 5090 | Blackwell | 12.0 | 32G | 1.8 | 83.2 | 126 | 254 | 254 | 906 | 774 | 1617 |
| RTX PRO 5000 | Blackwell | 12.0 | 48G | 1.0 | 52.4 | 140 | 257 | 260 | 552 | 557 | 1064 |
| RTX 5090 D v2 | Blackwell | 12.0 | 24G | 1.7 | 83.7 | 119 | 241 | 241 | 665 | 661 | 1177 |
| RTX 6000D | Blackwell | 12.0 | 84G | 1.3 | 67.5 | 72 | 151 | 150 | 391 | 288 | 946 |
| RTX 4090 | Ada Lovelace | 8.9 | 24G | 1.3 | 57.6 | 90 | 179 | 179 | 676 | 354 | — |
| GB10 (Spark) | Grace Blackwell | 12.1 | 128G | 0.4 | 21.2 | 43 | 102 | 105 | 155 | 220 | 373 |
| RTX 3060 | Ampere | 8.6 | 12G | 0.2 | 10.3 | 13 | 27 | 27 | 95 | — | — |
单位: TFLOPS(INT8 为 TOPS) GB10 为统一内存(CPU+GPU 共享) 数据为 cuBLASLt dense GEMM 实测值(非稀疏,isolated 隔离测试) 完整精度数据见 GPU_TEST_CHECKLIST.md
| GPU | 架构 | 状态 |
|---|---|---|
| MI300X | CDNA3 | 待测 |
bash run_bench.sh # 自动检测 GPU 厂商并运行
bash run_bench.sh --quick # 快速模式
bash run_bench.sh --device 0 # 只测 GPU 0自动检测 GPU 类型(NVIDIA / AMD),调用对应子工具:
| 检测到 | 调用 | 编译器 | BLAS 库 |
|---|---|---|---|
| NVIDIA | nvidia/run_gpu_flops.sh |
nvcc | cuBLASLt |
| AMD | amd/run_gpu_flops.sh (待实现) |
hipcc | hipBLASLt |
cd nvidia
bash run_gpu_flops.sh # 编译 + 运行(自动检测 GPU 架构)
bash run_gpu_flops.sh --quick # 快速模式(每精度只测一个尺寸)无需安装 Python。编译时链接 NVML(-lnvidia-ml,CUDA Toolkit 自带)。
cd amd
bash run_gpu_flops.sh # 待实现详见 nvidia/GPU_TEST_CHECKLIST.md
- NVIDIA: CUDA Toolkit 13.0+, NVIDIA 驱动
- AMD: ROCm 6.0+(待实现)