70. Demonstrating the Impact of OpenMP Overheads in Multi-Physics Using a Mini App
Authors: Dylan McKinney (Lawrence Livermore National Laboratory)Ian Karlin (Lawrence Livermore National Laboratory)Riyaz Haque (Lawrence Livermore National Laboratory)
Abstract: Pure MPI programming approaches only strong scale so far due to surface to volume issues. Switching to an MPI+OpenMP programming model can exploit growing concurrency while minimizing surface to volume challenges. However, for small problem sizes, the amount of work within an OpenMP region may not amortize thread overheads. KULL, a multi-physics production code, has this problem. In this poster, we demonstrate that large OpenMP overheads limit the thread scaling of KULL. We show that the Lightweight OpenMP (LOMP) compiler reduces overheads enough to allow KULL to scale further. We duplicate this issue in LULESH, a hydrodynamics proxy application. LULESH, at small problem sizes, sees up to 5x speed-up using LOMP. By demonstrating the impact overheads have on small problems, and duplicating this issue in a proxy application, we indicate to vendors that OpenMP overhead limits performance and provide them with benchmark test problems that show our OpenMP challenges.
Two-page extended abstract: pdf