Avalon is contributing to LLVM OpenMP/runtime

Philippe Virouleau, funding thanks to EoCoE-II project, has proposed patches to LLVM OpenMP/runtime in order to provide better control and performances of OpenMP task execution. First accepted patch was pushed in LLVM master branch (https://reviews.llvm.org/D63196). It solves an side effect due to the task throttling heuristic that serializes task execution. It may  cripple the application performance in some specific task graph scenarios, like the ones detailed in section 4.2 from this paper published at IWOMP 2018 (the full text can be found here). In such cases not having the full task graph prevent some opportunities for cache reuse between successive tasks.

Mid term goals are to transfer some important and innovative features mostly already available in libKOMP https://gitlab.inria.fr/openmp/libkomp.