krrishnarraj/clpeak
Peak compute, memory bandwidth and latency of CPUs, GPUs and NPUs: the same tests through every API that reaches a device. Command line and app for Windows, macOS, Linux and Android
clpeak – 计算与延迟基准测试
简介 – clpeak 是一个跨平台基准测试工具,用于测量 CPU、GPU 和 NPU 的峰值计算吞吐量、内存带宽和延迟。它通过所有可用的 API(CUDA、ROCm/HIP、Metal、oneAPI/SYCL、Vulkan、OpenCL、ONNX Runtime、Core ML、LiteRT 等)运行经过高度优化的微型内核,并报告跨设备的对比数据。
重要性 – 在评估 AI/ML 工作负载的硬件时,您不仅需要了解理论规格,还需要了解底层库(cuBLASLt、Core ML 等)的实际性能。clpeak 提供了一种单一且可复现的方法,让您查看设备在执行矩阵乘法、卷积和其他核心操作时的实际速度,以及内核启动的延迟。
主要功能
- 多后端支持 – CUDA、ROCm/HIP、Metal、oneAPI/SYCL、Vulkan、OpenCL、ONNX Runtime、Core ML、LiteRT。
- CPU 内核 – 在运行时针对检测到的指令集(x86-64、AArch64)进行编译。
- CLI 和 GUI – 命令行工具适用于 Windows/macOS/Linux/Android;同时提供基于 Flutter 的桌面应用程序。
- JSON 输出与比较 – 保存运行结果,随后重新运行并与保存的结果进行差异对比。
- 设备级粒度 – 您可以选择特定的设备/后端,列出可用设备,并仅运行选定的测试类别(计算、带宽、延迟、AI)。
- 跨平台构建 – 适用于桌面和移动设备(通过 Google Play 安装 Android 版本,通过应用包安装 iOS 版本)。
入门指南
# 克隆并构建(需要 CMake;GUI 可选 Flutter SDK)
git clone --recursive https://github.com/krrishnarraj/clpeak
cd clpeak
cmake -S . -B build
cmake --build build -j
./build/clpeak # 运行 CLI
预构建的二进制文件可在 GitHub 发布页面和 Snap Store 获取。在 Android 上,您可以直接从 Google Play 安装。
典型用法
# 在每个检测到的设备上运行所有测试
clpeak
# 列出 clpeak 可见的设备
clpeak --list-devices
# 仅对 CUDA 设备 0 和 Vulkan 设备 1 进行基准测试
clpeak --devices cuda:0,vulkan:1
# 仅显示内存带宽数据
clpeak --bandwidth
# 将结果保存为 JSON 以供后续比较
clpeak -o run.clpeak.json
clpeak --compare run.clpeak.json
--help 标志列出了所有可用选项。
更多信息 – 项目页面 (https://krrishnarraj.github.io/clpeak/) 包含屏幕截图、详细的构建说明以及支持的后端列表。AGENTS.md 文件记录了代码生成代理的存储库布局,results/ 目录存放了供参考的基准运行结果。
许可证 – 根据 MIT License 分发。
clpeak 是一款真正的开源性能测量工具,旨在为需要跨多种计算平台获取准确、可比硬件数据的开发人员、研究人员和 AI 代理提供支持。
相关
- 项目
- 项目
- 项目
- 项目
- 项目