DOE OSTI · 1822775
Asynchronous distributed-memory task-parallel algorithm for compressible flows on unstructured 3D Eulerian grids
Abstract
Here, we discuss the implementation of a finite element method, used to numerically solve the Euler equations of compressible flows, using an asynchronous runtime system (RTS). The algorithm is implemented for distributed-memory machines, using stationary unstructured 3D meshes, combining data-, and task-parallelism on top of the Charm++ RTS. Charm++’s execution model is asynchronous by default, allowing arbitrary overlap of computation and communication. Task-parallelism allows scheduling parts of an algorithm independently of, or dependent on, each other. Built-in automatic load balancing enables continuous redistribution of computational load by migration of work units based on real-time CPU load measurement. The RTS also features automatic checkpointing, fault tolerance, resilience against hardware failure, and supports power-, and energy-aware computation. We demonstrate scalability up to 25 x 10 9 cells at $\mathscr{O}$10 4 compute cores and the benefits of automatic load balancing for irregular workloads. The full source code with documentation is available at https://quinoacomputing.org.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Bakosi, Jozsef, Bird, Robert Francis, Gonzalez, Francisco, Junghans, Christoph, Li, Weizhao, Luo, Hong, Pandare, Aditya Kiran, Waltz, Jacob I.. 2021-07-06. Asynchronous distributed-memory task-parallel algorithm for compressible flows on unstructured 3D Eulerian grids. https://doi.org/10.1016/j.advengsoft.2020.102962
Cite the original work for its findings. Save a collection to share your selection of sources.