103.stencil
Li-Wen Chang, John A. Stratton
Thermodynamics
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.
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.
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.
C, C++
OpenCL
None.
Last updated: $Date: 2015-03-02 15:15:22 -0500 (Mon, 02 Mar 2015) $