GTC 2020: Astaroth: an API for Three-dimensional Stencil Computations on GPUs
After clicking “Watch Now” you will be prompted to login or join.
Click “Watch Now” to login or join the NVIDIA Developer Program.
Astaroth: an API for Three-dimensional Stencil Computations on GPUs
Johannes Pekkila, Aalto University School of Science
We'll present the Astaroth library that uses multiple GPUs efficiently in 3D stencil computations. Astaroth provides a C99 API, a domain-specific language, and a compiler for translating programs written in that domain-specific language into efficient CUDA kernels. We'll show that it is possible to achieve near hand-tuned performance while still being able to describe problems using a high-level language. Astaroth meets the demands in computational sciences, where large stencils are often used to attain sufficient accuracy. Maximizing the utilization of caches is challenging, especially in computational physics, where multiple simulated fields interact with each other and should be held in caches simultaneously. Astaroth takes inspiration from graphics and image-processing pipelines and generates a pipeline optimized for processing large 3D stencils.