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 代理提供支持。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目