WisdomWombat: A polyglot dataflow CFD code using Python and Dragon

  • Julius Donnert (Creator)
  • Lindsey Gordon (Creator)
  • Christopher Nolting (Gustavus Adolphus College) (Creator)
  • Peter J. Mendygral (Creator)

Dataset

Description

We present a prototype solution for a polyglot computational fluid dynamics code using the Python Multiprocessing API and Dragon. The code uses an actor-based dataflow architecture with a directed graph to explicitly express program execution including parallelization and asynchronous communication. Computation-heavy parts are covered with individual Fortran executables, the shared state description is written in C with Fortran and Cython wrappers. Our code demonstrates data flow programming in Python for a classical tightly coupled HPC problem, combining cloud-native programming paradigms with HPC communication techniques like RDMA through the Dragon runtime. We demonstrate how a scalable software architecture for classical HPC, AI/ML and HPC workflow applications could look like in the future.
Date made availableAug 15 2023
PublisherZENODO

Cite this