Lukas Arnold - Juelich Supercomputing Centre
Fire simulation is a complex issue due to the large number of physical and chemical processes involved. The code of FDS covers many of these using various models and is extensively verified and validated, but lacks support for modern multi-core hardware. This article documents the efforts of providing an Open Multi-Processing (OpenMP) parallelised version of the Fire Dynamics Simulator (FDS), version 6, that also permits hybrid use with the Message Passing Interface (MPI). As FDS does not allow for arbitrary domain decomposition to be used with MPI, the amount of computational resources is limited. An OpenMP parallelisation does not have these restrictions, but it is not able to use the resources as efficient as MPI does.
Prior to parallelising the code, FDS was profiled using various measurement systems. To allow parallelisation the radiation solver as well as the top-hat filter for LES equation where altered. The achieved parallelisation and speed-up for various architectures and problem sizes were measured. A speed-up of two is now attainable for common simulation cases on modern four-core processors and requires no additional setup by the user. Timings for various combinations of simultaneous usage of OpenMP and MPI are presented. Finally recommendations for further optimisation efforts are given.