An Abstraction for Distributed Stencil Computations Using Charm++

Aditya Bhosale, Zane Fink, Laxmikant Kale

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Python has emerged as a popular programming language for scientific computing in recent years, thanks to libraries like Numpy and SciPy. Numpy, in particular, is widely utilized for prototyping numerical solvers using methods such as finite difference, finite volume, and multigrid. However, Numpy’s performance is confined to a single node, compelling programmers to resort to a lower-level language for running large-scale simulations. In this paper, we introduce CharmStencil, a high-level abstraction featuring a Numpy-like Python frontend and a highly efficient Charm++ backend. Employing a client-server model, CharmStencil maintains productivity with tools like Jupyter notebooks on the frontend while utilizing a high-performance Charm++ library on the backend for computation. We demonstrate that CharmStencil achieves orders of magnitude better single-threaded performance compared to Numpy and can scale to thousands of CPU cores. Additionally, we showcase superior performance compared to cuNumeric and Numba, popular Python libraries for parallel array computations.

Original languageEnglish (US)
Title of host publicationAsynchronous Many-Task Systems and Applications - 2nd International Workshop, WAMTA 2024, Proceedings
EditorsPatrick Diehl, Joseph Schuchart, Pedro Valero-Lara, George Bosilca
PublisherSpringer
Pages123-134
Number of pages12
ISBN (Print)9783031617621
DOIs
StatePublished - 2024
Event2nd International Workshop on Asynchronous Many-Task Systems and Applications, WAMTA 2024 - Knoxville, United States
Duration: Feb 14 2024Feb 16 2024

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume14626 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference2nd International Workshop on Asynchronous Many-Task Systems and Applications, WAMTA 2024
Country/TerritoryUnited States
CityKnoxville
Period2/14/242/16/24

Keywords

  • Charm++
  • Distributed
  • Numpy
  • Python
  • Stencil

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'An Abstraction for Distributed Stencil Computations Using Charm++'. Together they form a unique fingerprint.

Cite this