[Openmp-commits] [PATCH] D111789: [OpenMP][OMPT] ompt_parallel_invoker_program used when clang generates the code of parallel if(0)-serialized regions
Vladimir Inđić via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Thu Oct 14 04:00:12 PDT 2021
vladaindjic created this revision.
vladaindjic added reviewers: protze.joachim, AndreyChurbanov, hbae.
Herald added subscribers: guansong, yaxunl.
vladaindjic requested review of this revision.
Herald added a reviewer: jdoerfert.
Herald added subscribers: openmp-commits, sstefan1.
Herald added a project: OpenMP.
When clang generates the code of serialized parallel region whose omp parallel
directive contains if(0) clause, then the implicit task of the corresponding
region is invoked directly by the application, so the invoker takes the value
of “ompt_parallel_invoker_program” flag.
For all other cases, implicit tasks of the parallel regions are invoked by
the runtime, so “ompt_parallel_invoker_runtime” flag is used instead.
Four test cases have been introduced to prove that the “invoker” argument
is determined correctly while dispatching “ompt_callback_parallel_begin”
and “ompt_callback_parallel_end” callbacks. Each test case supplies the
master thread’s call stack which points to the call site of the corresponding
implicit task and argues about the right value of the “invoker” argument.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D111789
Files:
openmp/runtime/src/kmp_csupport.cpp
openmp/runtime/src/ompt-internal.h
openmp/runtime/test/ompt/parallel/invoker.c
openmp/runtime/test/ompt/parallel/invoker_if0_clang.c
openmp/runtime/test/ompt/parallel/invoker_if0_gcc.c
openmp/runtime/test/ompt/parallel/invoker_serialized.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D111789.379654.patch
Type: text/x-patch
Size: 12146 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20211014/873e3a2e/attachment.bin>
More information about the Openmp-commits
mailing list