ekondis/mixbench
A GPU benchmark tool for evaluating GPUs and CPUs on mixed operational intensity kernels (CUDA, OpenCL, HIP, SYCL, OpenMP)
What it solves
It provides a way to evaluate the performance bounds of compute devices (GPUs and CPUs) by testing how they handle mixed operational intensity. This helps developers determine the practical optimum balance between compute operations and memory accesses to effectively hide memory latency.
How it works
The tool executes customized kernels across a range of operational intensity values. It tests four specific types of operations combined with global memory accesses:
- Single precision multiply-additions (Flops)
- Double precision multiply-additions (Flops)
- Half precision multiply-additions (Flops, GPU only)
- Integer multiply-addition operations
Who it’s for
It is designed for researchers and developers working with high-performance computing who need to profile hardware performance and estimate kernel performance bounds.
Highlights
- Broad Hardware Support: Includes implementations for CUDA, HIP, OpenCL, SYCL, and CPU/OpenMP.
- Multi-Precision Testing: Supports single, double, and half precision floating-point operations as well as integer operations.
- Performance Analysis: Generates detailed CSV data including GFLOPS and memory bandwidth (GB/sec) to help build roofline models.
Related
- Project
- Project
- Project
- Dispatch
- Project