SPEC ACCEL Benchmark Description

Benchmark Name


Benchmark Author

Li-Wen Chang, John A. Stratton

Benchmark Program General Category


Benchmark Description

The importance of solving partial differential equations (PDE) numerically as well as the computationally intensive nature of this class of application have made PDE solvers an interesting candidate for accelerators. In the benchmark we include a stencil code, representing an iterative Jacobi solver of the heat equation on a 3-D structured grid, which can also be used as a buliding block for more advanced multi-grid PDE solvers. The GPU-optimized version draws from several published works on the topic, containing a combination of 2D blocking [Rivera et al.] in the X-Y plane, and register-tiling (coarsening) along the Z-direction, similar to the one developed by Datta et al. Even with these optimizations, the performance limitation is global memory bandwidth for current GPU architectures we have tested.

Input Description

103.stencil's input is driven wholly from the command line, witch specifies the size of the stencil grid to create and the number of iterations to perform.

Output Description

103.stencil outputs a file containing the final cell values, with one line per cell in row-major order.

The output file stencil.out contains detailed timing information about the run. It also shows which device was selected along with what devices where available to OpenCL.

Programming Language

C, C++

Threading Model


Known portability issues



Last updated: $Date: 2015-03-02 15:15:22 -0500 (Mon, 02 Mar 2015) $