krrishnarraj/clpeak
A synthetic micro-benchmark that measures peak compute, bandwidth, and matrix throughput of GPUs and CPUs
What it solves
clpeak is a synthetic micro-benchmark tool designed to measure the peak achievable compute performance of CPUs and GPUs. It allows users to expose the maximum hardware throughput of their hardware across different compute backends, providing a way to compare performance across different vendors and APIs.
How it works
The tool exercises tight vector, MAD (Multiply-Add), and MMA (Matrix Multiply-Accumulate) kernels, as well as vendor-optimized GEMM (General Matrix Multiply) libraries. It supports a wide array of backends including OpenCL, Vulkan, CUDA, ROCm/HIP, Metal, oneAPI/SYCL, and native CPU execution.
Who it’s for
It is intended for hardware performance analysts, developers working with high-performance computing (HPC) or AI accelerators, and users who want to quantify the exact compute limits of their processors.
Highlights
- Broad Backend Support: Supports CUDA, ROCm, Metal, Vulkan, OpenCL, oneAPI/SYCL, and native CPU.
- Cross-Backend Comparison: Enables direct performance comparisons on the same hardware using different APIs.
- Comprehensive Metrics: Measures single-precision compute, matrix-core peak (e.g., Tensor Cores, MFMA), and global memory bandwidth.
- Multiple Interfaces: Provides both a command-line interface (CLI) and a a cross-platform desktop application (macOS, Linux, Windows) and mobile apps (Android, iOS).
- Regression Testing: Includes a
--compareflag to diff current runs against saved baseline JSON results.
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト