Optimized three-dimensional stencil computation on Fermi and Kepler GPUs

2014 
Stencil based algorithms are used intensively in scientific computations. Graphics Processing Units (GPU) based implementations of stencil computations speed-up the execution significantly compared to conventional CPU only systems. In this paper we focus on double precision stencil computations, which are required for meeting the high accuracy requirements, inherent for scientific computations. Starting from two baseline implementations (using two dimensional and three dimensional thread block structures respectively), we employ different optimization techniques which lead to seven kernel versions. Both Fermi and Kepler GPUs are used, to evaluate the impact of different optimization techniques for the two architectures. Overall, the GTX680 GPU card performs best for a kernel with 2D thread block structure and optimized register and shared memory usage. We show that, whereas shared memory is not essential for Fermi GPUs, it is a highly efficient optimization technique for Kepler GPUs (mainly due to the different L1 cache usage). Furthermore, we evaluate the performance of Kepler GPU cards designed for desktop PCs and notebook PCs. The results indicate that the ratio of execution time is roughly equal to the inverse of the ratio of power consumption.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    14
    References
    15
    Citations
    NaN
    KQI
    []