Presentation
WisdomWombat: A Polyglot Dataflow CFD Code Using Python and Dragon
DescriptionWe 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.