spaffy edited this page Jul 9, 2012 · 4 revisions

The Scalable HeterOgeneous Computing (SHOC) Benchmark Suite

The Scalable Heterogeneous Computing Benchmark Suite (SHOC) is a collection of benchmark programs testing the performance and stability of systems using computing devices with non-traditional architectures for general purpose computing, and the software used to program them. Its initial focus is on systems containing Graphics Processing Units (GPUs) and multi-core processors, and on the OpenCL programming standard. It can be used on clusters as well as individual hosts.

In addition to OpenCL-based benchmark programs, SHOC also includes a Compute Unified Device Architecture (CUDA) version of many of its benchmarks for comparison with the OpenCL version.


  • Multiple benchmark applications written in both OpenCL and CUDA
  • Cluster-level parallelism with MPI
  • Node-level parallelism for multiple GPUs per node
  • Harness for running and easy reporting (in .csv spreadsheet format) of the suite
  • Stability tests for large scale cluster resiliency testing

The Benchmarks

The SHOC benchmark suite is divided into two primary categories: stress tests and performance tests. The stress tests use computationally demanding kernels to identify OpenCL devices with bad memory, insufficient cooling, or other component problems. The performance tests are further subdivided according to their complexity and the nature of the device capability they exercise. This categorization is similar in spirit to that used in the BLAS API. Currently, the levels are:

  • Stability Tests
  • Performance Tests
    • Level 0: Very low level device characteristics (so-called "feeds and speeds") such as bandwidth across the bus connecting the GPU to the host or peak floating point operations per second
    • Level 1: Device performance for low-level operations such as vector dot products and sorting operations
    • Level 2: Device performance for real application kernels


SHOC 1.1.2 is now available. Please see the Downloads page to see the list of changes and to get your copy.


Sign up to the SHOC announcement list at https://elist.ornl.gov/mailman/listinfo/shoc-announce in order to receive alerts of new releases and other changes.


User Manual

Available on the Downloads page

Getting Started

A quick walkthrough on how to build and run the benchmarks


Answers to frequently asked questions


Danalis, A., Marin, G., McCurdy, C., Meredith, J., Roth, P., Spafford, K., Tipparaju, V., Vetter, J. (2010). The Scalable HeterOgeneous Computing (SHOC) Benchmark Suite. Proceedings of the Third Workshop on General-Purpose Computation on Graphics Processors (GPGPU 2010). March 2010. pdf available via scribd


SHOC is an open source and includes contributions from:

Contact Information

Please send any questions to shoc-help@elist.ornl.gov

Known Issues

Known problems and workarounds can be found in the issue tracker.