This change adds support for ompt_callback_dispatch with the new
dispatch chunk type introduced in 5.2. Definitions of the new
ompt_work_loop types were also added (but not used now).
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Thanks for working on this!
Just one comment inline.
openmp/runtime/test/ompt/callback.h | ||
---|---|---|
792–804 | Can you probably add a TODO, that we should add a new attribute here: ", schedule=%s" ... ompt_schedule_values[wstype]? This can be added with the specialization change of ompt_work_loop. |
openmp/runtime/test/ompt/callback.h | ||
---|---|---|
792–804 | Pushed my change after adding the suggested comments. |
openmp/runtime/src/ompt-internal.h | ||
---|---|---|
60 | This LoC creates tens of compilation warning. Please fix it. In file included from /home/shiltian/Documents/vscode/llvm-project/openmp/runtime/src/kmp_affinity.cpp:13: In file included from /home/shiltian/Documents/vscode/llvm-project/openmp/runtime/src/kmp.h:139: /home/shiltian/Documents/vscode/llvm-project/openmp/runtime/src/ompt-internal.h:55:15: warning: anonymous non-C-compatible type given name for linkage purposes by typedef declaration; add a tag name here [-Wnon-c-typedef-for-linkage] typedef struct { ^ ompt_task_info_t /home/shiltian/Documents/vscode/llvm-project/openmp/runtime/src/ompt-internal.h:60:42: note: type is not C-compatible due to this default member initializer ompt_dispatch_chunk_t dispatch_chunk = {0, 0}; ^~~~~~ /home/shiltian/Documents/vscode/llvm-project/openmp/runtime/src/ompt-internal.h:61:3: note: type is given name 'ompt_task_info_t' for linkage purposes by this typedef declaration } ompt_task_info_t; ^ 1 warning generated. |
Hello! It seems the loop_dispatch.c test is occasionally causing errors on one of the builders: https://lab.llvm.org/buildbot/#/builders/84/builds/22238/steps/6/logs/FAIL__libomp__loop_dispatch_c (also see the builder's history)
Anyone would have a chance to look at it please? Thanks in advance!
Is it possible for me to access the output of the failed test shown in the log?
/b/1/openmp-clang-x86_64-linux-debian/llvm.build/projects/openmp/runtime/test/ompt/worksharing/for/Output/loop_dispatch.c.tmp.out
openmp/runtime/test/ompt/worksharing/for/loop_dispatch.c | ||
---|---|---|
11–29 | @hbae because of dynamic schedule it is possible that some thread gets no iteration. I'm not sure how the runtime behaves in such case. I think we should replace the delay by signal-wait code similar to the tasking tests to make sure that all threads get at least one iteration. Although nthreads should be 4 most of the time, with limited resources, the runtime might use less threads. In that case we should not deadlock - the test will fail nevertheless. |
This LoC creates tens of compilation warning. Please fix it.