학술논문

Stencil Solvers for PDEs on GPUs: An Example From Cosmology
Document Type
Periodical
Author
Source
Computing in Science & Engineering Comput. Sci. Eng. Computing in Science & Engineering. 23(4):55-64 Aug, 2021
Subject
Computing and Processing
Bioengineering
Communication, Networking and Broadcast Technologies
Graphics processing units
High performance computing
Programming
Computational modeling
Python
Runtime
Parallel processing
Language
ISSN
1521-9615
1558-366X
Abstract
The increasingly diverse ecosystem of high-performance architectures and programming models presents a mounting challenge for programmers seeking to accelerate scientific computing applications. Code generation offers a promising solution, transforming a simple and general representation of computations into lower level, hardware-specialized and -optimized code. We describe the philosophy set forth by the Python package Pystella, a high-performance framework built upon such tools to solve partial differential equations on structured grids. A hierarchy of abstractions provides increasingly expressive interfaces for specifying physical systems and algorithms. We present an example application from cosmology, using finite-difference methods to solve coupled hyperbolic partial differential equations on (multiple) GPUs. Such an approach may enable a broad range of domain scientists to make efficient use of increasingly heterogeneous computational resources while mitigating the drastic effort and expertise nominally required to do so.