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 --compare flag to diff current runs against saved baseline JSON results.

相关

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