Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
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 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.
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:
- Future Technologies group @ ORNL
- CUDPP team at UC Davis
- Lukasz Wesolowski (summer student)
- Aditya Sarwade (summer student)
Please send any questions to firstname.lastname@example.org
Known problems and workarounds can be found in the issue tracker.