Renumbering methods to unleash multi-threaded approaches for a general navier-stokes implementation
Abstract
Our investigation leverages the general industrial Navier-Stokes open-source Computational Fluid Dynamics (CFD) application, Code-Saturne, developed by Électricité de France (EDF). We deal with how to take advantage of the emerging processor features such as many-cores, Simultaneous Multi-Threading (SMT) and Thread Level Speculation (TLS), through a mixed MPI/multithreads approach. We focus here on the per-node performance improvements and present the constraints for a multithreads implementation to solve the general 3D Navier-Stokes equations using a finite volume discretization into polyhedral cells. We describe a simple and efficient mesh numbering scheme allowing us to introduce OpenMP and Thread Level Speculation implementations with minimal impact to overall code structure. © 2010 American Institute of Physics.