AN5D: Automated Stencil Framework for High-Degree Temporal Blocking on GPUs
arXiv:2001.01473 · doi:10.1145/3368826.3377904
Abstract
Stencil computation is one of the most widely-used compute patterns in high performance computing applications. Spatial and temporal blocking have been proposed to overcome the memory-bound nature of this type of computation by moving memory pressure from external memory to on-chip memory on GPUs. However, correctly implementing those optimizations while considering the complexity of the architecture and memory hierarchy of GPUs to achieve high performance is difficult. We propose AN5D, an automated stencil framework which is capable of automatically transforming and optimizing stencil patterns in a given C source code, and generating corresponding CUDA code. Parameter tuning in our framework is guided by our performance model. Our novel optimization strategy reduces shared memory and register pressure in comparison to existing implementations, allowing performance scaling up to a temporal blocking degree of 10. We achieve the highest performance reported so far for all evaluated stencil benchmarks on the state-of-the-art Tesla V100 GPU.
References in corpus (1)
Cited by in corpus (5)
- Revisiting Temporal Blocking Stencil Optimizations
- PERKS: a Locality-Optimized Execution Model for Iterative Memory-bound GPU Applications
- Accelerating High-Order Stencils on GPUs
- Opening the Black Box: Performance Estimation during Code Generation for GPUs
- Exploiting Scratchpad Memory for Deep Temporal Blocking: A case study for 2D Jacobian 5-point iterative stencil kernel (j2d5pt)