OMPT on task based applications


I am trying to use OMPT to trace a task-based application.

These are the compile options I used to compile LLVM OpenMP runtime: cmake ../openmp -G "Unix Makefiles" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_INSTALL_PREFIX=. -DCMAKE_BUILD_TYPE=Release -DOPENMP_ENABLE_LIBOMPTARGET=OFF -DLIBOMP_OMPT_OPTIONAL=ON

I am using Clang 13 and the latest LLVM OpenMP runtime from the official github repo. My application is composed of several nested tasks using #pragma omp task depend (inout:some_vector[0:some_limit]) I registered several OMPT callbacks including ompt_callback_task_create, ompt_callback_dependences, ompt_callback_task_schedule that are running properly and giving me the wanted feedback. However, some callbacks are not being run: ompt_callback_task_dependence (there is dependencies between tasks…) and ompt_callback_work even if their registering with ompt_set_callback return code 5 corresponding to ompt_set_always .

What should I do to get those callback to work? Am I missing on something here? I also tried using different runtimes/compilers without any result.
Any help would be highly appreciated.