The following OpenCL benchmarks are currently available for public download. We do our best to keep this list updated whenever we hear of something new. If we have missed something or you see anything that needs updating, please let us know by Contacting Us.
Publicly Available OpenCL Benchmarks
The SPEC ACCEL® benchmark suite tests performance with computationally intensive parallel applications running under the OpenCL, OpenACC, and OpenMP 4 target offloading APIs. The suite exercises the performance of the accelerator, host CPU, memory transfer between host and accelerator, support libraries and drivers, and compilers.
The C Framework for OpenCL, cf4ocl, is a cross-platform pure C object-oriented framework for developing and benchmarking OpenCL projects. It aims to (1) Promote the rapid development of OpenCL host programs in C (with support for C++) and avoid the tedious and error-prone boilerplate code usually required (2) Assist in the benchmarking of OpenCL events, such as kernel execution and data transfers. Profiling comes for free with cf4ocl (3) Simplify the analysis of the OpenCL environment and of kernel requirements, and (4) Allow for all levels of integration with existing OpenCL code: use as much or as few of cf4ocl required for your project, with full access to the underlying OpenCL objects and functions at all times.
CompuBench, developed by Kishonti Ltd, measures the compute performance of your OpenCL and CUDA device.
FinanceBench, developed at the University of Deleware, is aimed at those who work with financial code to see how certain code paths can be targeted for accelerators. We utilized the original QuantLib software framework and samples to port four existing applications for quantitative finance.
BabelStream is a benchmark used to measure the memory transfer rates to/from capacity memory. Unlike other memory bandwidth benchmarks this does not include any PCIe transfer time for attached devices. This benchmark is similar in spirit, and based on, the STREAM benchmark for CPUs and supports OpenCL as well as many other APIs.
Hetero-Mark is designed to model the workloads that are similar to real world applications, where the major part of the application is written in general purpose programming languages, while only a small, performance critical portion is written using GPU-accelerated libraries.
LuxMark is a OpenCL cross-platform benchmark tool and has become, over past years, one of the most used (if not the most used) OpenCL benchmark. It is intended as a promotional tool for LuxCoreRender and it is now based on LuxCore API, the LuxCoreRender v2.x C++ or Python API available under Apache Licence v2.0 and freely usable in open source and commercial applications.
The purpose of this benchmark tool is to evaluate performance bounds of GPUs on mixed operational intensity kernels. The executed kernel is customized on a range of different operational intensity values. Modern GPUs are able to hide memory latency by switching execution to threads able to perform compute operations. Using this tool one can assess the practical optimum balance in both types of operations for a GPU. CUDA, HIP and OpenCL implementations have been developed.
The OpenDwarfs project provides a benchmark suite consisting of different computation/communication idioms, i.e., dwarfs, for state-of-art multicore CPUs, GPUs, Intel MICs and Altera FPGAs. A thorough description of the latest version, including in-depth performance evaluation for a larger number of OpenDwarfs, is described in “OpenDwarfs: Characterization of Dwarf-based Benchmarks on Fixed and Reconfigurable Architectures” by Krommydas, Feng, Antonopoulos, and Bellas in Journal of Signal Processing Systems (JSPS), Springer, October 2015.
Sandra, developed by SiSoftware, has always pushed the limits of hardware, optimising the workload based on the capabilities of the device (compute performance, memory/storage size, etc.) ensuring that both low-end devices and high-end devices are used to their best of their capability. The benchmark supports four native GPGPU/APU platforms including OpenCL 2.0+
ViennaCLBench is an OpenCL-based free open-source benchmark application with graphical user interface. It focuses on common linear algebra operations on multi-core CPUs, GPUs, and MIC from major vendors. It is implemented on top of ViennaCL and is available on Windows, Linux, and Mac OS platforms. The following operations are currently implemented: Dense matrix-matrix products (GEMM), Sparse matrix-vector products (SpMV – with Matrix Market reader), Vector operations (AXPY) and Host-Device bandwidth (PCI-Express, etc.)