OpenMP in LLVM Multi-company Telecom Meeting Minutes July 1st

Next Meeting : July 15th

  • Opens

  • static member functions in class : Should they be implicitly marked declare target.

  • Consensus is that they should be marked implicitly without needing to mark the class

  • Need to bring this up with OpenMP lang committee to get the spec expectation.- Per thread optimization in libomptarget

  • Shilei wanted to pass thread id to libomptarget to be able to do thread specific optimization

  • This would require changing all API to pass thread it.

  • We already have some call to libomp in libomptarget so we should do the same to get thread id.

  • In the future we may add thread id as an argument so libomptarget can be used independent of libomp by other libraries/applications directly without linking in libomp.- Have informal meeting.

  • Johannes asked if we need to have informal meeting as sometimes, we are not able to cover all the agenda items.

  • We shall discuss this in next meeting- Need review link in the agenda.

  • Greg would like to have review links in the agenda, so attendees can review before meeting

  • We will discuss this in next meeting.

  • Status of OpenMP version switch to 50

  • 1st patch has landed. https://reviews.llvm.org/D81098

  • 3 failures. Dispatch buffer fails on 5.0 passes with 4.5 https://reviews.llvm.org/D82963

  • Alexey said there is some non-determinism in 2 of the tests using ompt runtime and other can be runtime failure exposed by 5.0

  • Fix the test to handle the non-determinist behavior and work with Andrey on the other failure.

  • Patch in progress to test without any version string so failures can be caught when switching to future openmp version. https://reviews.llvm.org/D82575

  • Fat static libraries

  • Greg presented support for fat static libraries in llvm workshop.

  • Series of patch

  • 1st patch to fix llvm-link to handle device only archive library has been approved

  • 2nd patch https://reviews.llvm.org/D80816 to change unbundler to unbundle archive to create device specific library

  • 3rd patch to tool chain which looks for device specific library if not found then extract library from fat archive. Long term we want this in linker.

  • Async Support

  • Support for unshackled threads can be found here https://reviews.llvm.org/D77609

  • Sheilei is still doing some experiments

  • Libomptarget dependency handling

  • Changes can be found here https://reviews.llvm.org/D81989

  • Dependences works. Need to add tests to check for correctness.

  • Sheilei is waiting for review.

  • Memory support

  • Memory management work in progress can be found here https://reviews.llvm.org/D81054

  • There is an issue that memory is freed while some async kernels are still using them. This require huge change in libomptarget.

  • One alternate is to add memory management in plugin and have an environment to control which memory management to use.

  • For now, deferring memory management in libomptarget. .- Mapper

  • George has not been able to make any progress.

  • DeviceRTL

  • Goal is to convert all code to use C/C++ and OpenMP. Using pragma omp declare target device_type(nohost) to generate device only routines and memory.

  • See initial start by Johannes here https://reviews.llvm.org/D77472

Roll Call :

image002.png