2014 · 20 citations · 13 references
ComputingComputer ScienceHigh-performance ComputingComputer GraphicsParallel ComputingScientific ComputingData ParallelismGraphics Processing Unit ArchitectureGraphics Processing Unit ComputingGraphics Processing UnitsHardware AccelerationMemory Hierarchy OptimizationAccuracyExecution Time AnalysisGpu AcceleratorsKernel OptimizationPower ConsumptionScientific Computing On GpusShared Memory OptimizationStencil Computation
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.
13
3D finite difference computation on GPUs using CUDA
Paulius Micikevicius · 2009 · 518 citations