[Openmp-commits] [PATCH] D49996: [OpenMP] Fix tasking + parallel bug
Jonathan Peyton via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Mon Jul 30 14:48:27 PDT 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rL338313: [OpenMP] Fix tasking + parallel bug (authored by jlpeyton, committed by ).
Herald added a subscriber: llvm-commits.
Changed prior to commit:
https://reviews.llvm.org/D49996?vs=158040&id=158085#toc
Repository:
rL LLVM
https://reviews.llvm.org/D49996
Files:
openmp/trunk/runtime/src/kmp_tasking.cpp
openmp/trunk/runtime/test/tasking/bug_36720.c
Index: openmp/trunk/runtime/src/kmp_tasking.cpp
===================================================================
--- openmp/trunk/runtime/src/kmp_tasking.cpp
+++ openmp/trunk/runtime/src/kmp_tasking.cpp
@@ -1025,6 +1025,9 @@
kmp_taskdata_t *parent_task = thread->th.th_current_task;
size_t shareds_offset;
+ if (!TCR_4(__kmp_init_middle))
+ __kmp_middle_initialize();
+
KA_TRACE(10, ("__kmp_task_alloc(enter): T#%d loc=%p, flags=(0x%x) "
"sizeof_task=%ld sizeof_shared=%ld entry=%p\n",
gtid, loc_ref, *((kmp_int32 *)flags), sizeof_kmp_task_t,
Index: openmp/trunk/runtime/test/tasking/bug_36720.c
===================================================================
--- openmp/trunk/runtime/test/tasking/bug_36720.c
+++ openmp/trunk/runtime/test/tasking/bug_36720.c
@@ -0,0 +1,34 @@
+// RUN: %libomp-compile-and-run
+
+/*
+Bugzilla: https://bugs.llvm.org/show_bug.cgi?id=36720
+
+Assertion failure at kmp_runtime.cpp(1715): nthreads > 0.
+OMP: Error #13: Assertion failure at kmp_runtime.cpp(1715).
+
+The assertion fails even with OMP_NUM_THREADS=1. If the second task is removed,
+everything runs to completion. If the "omp parallel for" directives are removed
+from inside the tasks, once again everything runs fine.
+*/
+
+#define N 1024
+
+int main() {
+ #pragma omp task
+ {
+ #pragma omp parallel for
+ for (int i = 0; i < N; i++)
+ (void)0;
+ }
+
+ #pragma omp task
+ {
+ #pragma omp parallel for
+ for (int i = 0; i < N; ++i)
+ (void)0;
+ }
+
+ #pragma omp taskwait
+
+ return 0;
+}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D49996.158085.patch
Type: text/x-patch
Size: 1572 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20180730/918af22b/attachment.bin>
More information about the Openmp-commits
mailing list