Development of parallel cfd applications on distributed memory with chapel

M Parenteau, S Bourgault-Cote, F Plante… - 2020 IEEE …, 2020 - ieeexplore.ieee.org
M Parenteau, S Bourgault-Cote, F Plante, E Laurendeau
2020 IEEE International Parallel and Distributed Processing …, 2020ieeexplore.ieee.org
Traditionally, Computational Fluid Dynamics (CFD) software uses Message Passing
Interface (MPI) to handle the parallelism over distributed memory systems. For a new
developer, such as a student or a new employee, the barrier of entry can be high and more
training is required for each particular software package, which slows down the research
process on actual science. The Chapel programming language offers an interesting
alternative for research and development of CFD applications. In this paper, the …
Traditionally, Computational Fluid Dynamics (CFD) software uses Message Passing Interface (MPI) to handle the parallelism over distributed memory systems. For a new developer, such as a student or a new employee, the barrier of entry can be high and more training is required for each particular software package, which slows down the research process on actual science. The Chapel programming language offers an interesting alternative for research and development of CFD applications.In this paper, the developments of two CFD applications are presented: the first one as an experiment by re-writing a 2D structured flow solver and the second one as writing from scratch a research 3D unstructured multi-physics simulation software. Details are given on both applications with emphasis on the Chapel features which were used positively in the code design, in particular to improve flexibility and extend to distributed memory. Some performance pitfalls are discussed with solutions to avoid them.The performance of the unstructured software is then studied and compared to a traditional open-source CFD software package programmed in C++ with MPI for communication (SU2). The results show that our Chapel implementation achieves performances similar to other CFD software written in C and C++, thus confirming that Chapel is a viable language for high-performance CFD applications.
ieeexplore.ieee.org
Showing the best result for this search. See all results