Automated MPI-X code generation for scalable finite-difference solvers

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Bisbas, George, Nelson, Rhodri, Louboutin, Mathias, Luporini, Fabio, Kelly, Paul H. J., Gorman, Gerard
Format: Preprint
Published: 2023
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866910772708245504
author Bisbas, George
Nelson, Rhodri
Louboutin, Mathias
Luporini, Fabio
Kelly, Paul H. J.
Gorman, Gerard
author_facet Bisbas, George
Nelson, Rhodri
Louboutin, Mathias
Luporini, Fabio
Kelly, Paul H. J.
Gorman, Gerard
contents Partial differential equations (PDEs) are crucial in modeling diverse phenomena across scientific disciplines, including seismic and medical imaging, computational fluid dynamics, image processing, and neural networks. Solving these PDEs at scale is an intricate and time-intensive process that demands careful tuning. This paper introduces automated code-generation techniques specifically tailored for distributed memory parallelism (DMP) to execute explicit finite-difference (FD) stencils at scale, a fundamental challenge in numerous scientific applications. These techniques are implemented and integrated into the Devito DSL and compiler framework, a well-established solution for automating the generation of FD solvers based on a high-level symbolic math input. Users benefit from modeling simulations for real-world applications at a high-level symbolic abstraction and effortlessly harnessing HPC-ready distributed-memory parallelism without altering their source code. This results in drastic reductions both in execution time and developer effort. A comprehensive performance evaluation of Devito's DMP via MPI demonstrates highly competitive strong and weak scaling on CPU and GPU clusters, proving its effectiveness and capability to meet the demands of large-scale scientific simulations.
format Preprint
id arxiv_https___arxiv_org_abs_2312_13094
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle Automated MPI-X code generation for scalable finite-difference solvers
Bisbas, George
Nelson, Rhodri
Louboutin, Mathias
Luporini, Fabio
Kelly, Paul H. J.
Gorman, Gerard
Distributed, Parallel, and Cluster Computing
Mathematical Software
Performance
Partial differential equations (PDEs) are crucial in modeling diverse phenomena across scientific disciplines, including seismic and medical imaging, computational fluid dynamics, image processing, and neural networks. Solving these PDEs at scale is an intricate and time-intensive process that demands careful tuning. This paper introduces automated code-generation techniques specifically tailored for distributed memory parallelism (DMP) to execute explicit finite-difference (FD) stencils at scale, a fundamental challenge in numerous scientific applications. These techniques are implemented and integrated into the Devito DSL and compiler framework, a well-established solution for automating the generation of FD solvers based on a high-level symbolic math input. Users benefit from modeling simulations for real-world applications at a high-level symbolic abstraction and effortlessly harnessing HPC-ready distributed-memory parallelism without altering their source code. This results in drastic reductions both in execution time and developer effort. A comprehensive performance evaluation of Devito's DMP via MPI demonstrates highly competitive strong and weak scaling on CPU and GPU clusters, proving its effectiveness and capability to meet the demands of large-scale scientific simulations.
title Automated MPI-X code generation for scalable finite-difference solvers
topic Distributed, Parallel, and Cluster Computing
Mathematical Software
Performance
url https://arxiv.org/abs/2312.13094