Flang OpenMP Status & Developer Call Announcement

Hi everyone,

The OpenMP work for Flang has been making progress over the last few months. We have some momentum now thanks to AMD engineers joining the work and Johannes being our guiding light.

Recent work has focussed on a few simple constructs (barrier, taskwait, taskyield, flush) and the parallel construct. For all these constructs we have the operations defined in MLIR and lowering to LLVM IR. For the parallel construct, the lowering of clauses is a Work in Progress. In the fir-dev development branch, we have enabled Fortran source to LLVM IR compilation for the barrier and taskwait constructs. This is not yet available in upstream Flang since the bridge lowering code of FIR is not yet upstreamed. Work is ongoing to complete the whole flow for all the constructs mentioned above as well as the sections and master constructs. Also in progress is the OpenMP IRBuilder work for target and privatization. Valentin recently unified a lot of code in Clang and Flang using the tablegen infrastructure.
Note: The following presentation given at the HPC workshop in ISC provides an overview of the OpenMP work for Flang.

We started a developer call in May to coordinate the work. The call happens every Thursday at 8 am PDT/4 pm BST/8.30 pm IST. The primary agenda item of the call is a development update from the engineers involved. We now have participation from AMD, Arm, US National Labs and BSC. Kiran Kumar from AMD (email in CC) hosts the call. Please let him know if you plan to join and need an invite. More details of the call given below.
Teams Call Link: https://bit.ly/39eQW3o

Minutes: https://docs.google.com/document/d/1yA-MeJf6RYY-ZXpdol0t7YoDoqtwAyBhFLr5thu5pFI/edit
Project Management: https://docs.google.com/spreadsheets/d/1FvHPuSkGbl4mQZRAwCIndvQx9dQboffiD-xD0oqxgU0/edit#gid=0

Kiran Chandramohan
Arm Ltd