

Hyper Threading was disabled for the FDS 6.0.1 runs. Additionally, each model was run using FDS version 6.0.1 to determine a baseline for comparing the OpenMP version to a previous version. Hyper Threading is enabled and disabled using the BIOS.Įach model was run 24 times using FDS version 6.1.0 – 12 different OMP_NUM_THREADS settings with Hyper Threading active and another 12 with Hyper Threading disabled. With Hyper Threading disabled, OpenMP’s default was to use 6 cores. With Intel’s Hyper Threading technology enabled, the operating system recognized 12 cores and OpenMP’s default number of threads was 12. The test machine’s processor was an Intel Xeon E5-1650 with 6 physical cores. The following benchmarks examine performance using different numbers of OpenMP threads. This can be accomplished by setting the OpenMP Threads property in PyroSim’s OpenMP Environment dialog.īy default, PyroSim leaves the OMP_NUM_THREADS variable unset. You can control the number of threads made available to OpenMP by setting the OMP_NUM_THREADS environment variable. Unlike other parts of FDS that are controlled by the input file, OpenMP is controlled by setting environmental variables. Starting and stopping an OpenMP parallel region requires some computational overhead and a program using only 1 OpenMP thread to run the parallel regions can be expected to run slower than the same program without OpenMP.īy default, OpenMP queries the operating system for the number of processors when the FDS simulation starts and creates a matching number of threads. This loop in mass.f90 is one of about 40 similar parallel regions in FDS. OpenMP works by allocating a number of threads at startup and then running specific sections of the code in parallel. OpenMP is not present in the MPI version of FDS. This post presents two benchmark simulations that show how much improvement you can expect and how to configure simulations to use OpenMP effectively.Īs of FDS version 6.1.0, OpenMP is integrated with FDS and is used automatically.


FDS now uses OpenMP to run faster on PCs that have multiple cores.
