[Openmp-commits] [openmp] r338580 - [OMPT, tests] Fix taskloop testcase scheduling effects

Joachim Protze via Openmp-commits openmp-commits at lists.llvm.org
Wed Aug 1 09:15:18 PDT 2018


Author: jprotze
Date: Wed Aug  1 09:15:18 2018
New Revision: 338580

URL: http://llvm.org/viewvc/llvm-project?rev=338580&view=rev
Log:
[OMPT,tests] Fix taskloop testcase scheduling effects

The taskloop testcase had scheduling effects. Tasks of the taskloop would
sometimes be scheduled before all task were created. The testing is now
split into two phases. First, the task creation on the master is tested,
than the scheduling events of the tasks are tested. Thus, the order of
creation and scheduling events is irrelavant.

Patch by Simon Convent

Reviewed by: protze.joachim, Hahnfeld

Subscribers: openmp-commits

Differential Revision: https://reviews.llvm.org/D50140

Modified:
    openmp/trunk/runtime/test/ompt/tasks/taskloop.c

Modified: openmp/trunk/runtime/test/ompt/tasks/taskloop.c
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/test/ompt/tasks/taskloop.c?rev=338580&r1=338579&r2=338580&view=diff
==============================================================================
--- openmp/trunk/runtime/test/ompt/tasks/taskloop.c (original)
+++ openmp/trunk/runtime/test/ompt/tasks/taskloop.c Wed Aug  1 09:15:18 2018
@@ -1,18 +1,22 @@
-// RUN: %libomp-compile && %libomp-run | FileCheck %s
+// RUN: %libomp-compile-and-run | FileCheck %s
+// RUN: %libomp-compile-and-run | FileCheck --check-prefix=TASKS %s
 // REQUIRES: ompt
 #include "callback.h"
 #include <omp.h>
 
 int main() {
-  unsigned int i, j, x;
+  unsigned int i, x;
 
 #pragma omp parallel num_threads(2)
+  {
+#pragma omp barrier
+
 #pragma omp master
 #pragma omp taskloop
-  for (j = 0; j < 5; j += 3) {
-    x++;
+    for (i = 0; i < 5; i += 3) {
+      x++;
+    }
   }
-
   // CHECK: 0: NULL_POINTER=[[NULL:.*$]]
 
   // CHECK: {{^}}[[MASTER_ID:[0-9]+]]: ompt_event_parallel_begin:
@@ -39,16 +43,12 @@ int main() {
   // CHECK-SAME: new_task_id=[[TASK_ID2:[0-9]+]]
   // CHECK-SAME: codeptr_ra=[[RETURN_ADDRESS]]
   // CHECK-SAME: task_type=ompt_task_explicit=4
+  // CHECK-NOT: {{^}}[[MASTER_ID]]: ompt_event_task_create:
   // CHECK: {{^}}[[MASTER_ID]]: ompt_event_taskloop_end:
   // CHECK-SAME: parallel_id=[[PARALLEL_ID]]
   // CHECK-SAME: parent_task_id=[[IMPLICIT_TASK_ID1]]
   // CHECK-SAME: count=2
   // CHECK-DAG: {{^}}[[MASTER_ID]]: ompt_event_wait_taskgroup_begin:
-  // Schedule events:
-  // CHECK-DAG: {{^.*}}first_task_id={{[0-9]+}}, second_task_id=[[TASK_ID1]]
-  // CHECK-DAG: {{^.*}}first_task_id=[[TASK_ID1]], second_task_id={{[0-9]+}}
-  // CHECK-DAG: {{^.*}}first_task_id={{[0-9]+}}, second_task_id=[[TASK_ID2]]
-  // CHECK-DAG: {{^.*}}first_task_id=[[TASK_ID2]], second_task_id={{[0-9]+}}
   // CHECK: {{^}}[[MASTER_ID]]: ompt_event_wait_taskgroup_end:
   // CHECK-SAME: parallel_id=[[PARALLEL_ID]], task_id=[[IMPLICIT_TASK_ID1]]
   // CHECK: {{^}}[[MASTER_ID]]: ompt_event_taskgroup_end:
@@ -58,5 +58,18 @@ int main() {
   // CHECK: {{^}}[[MASTER_ID]]: ompt_event_parallel_end:
   // CHECK-SAME: parallel_id=[[PARALLEL_ID]]
 
+  // TASKS: ompt_event_task_create:{{.*}} new_task_id={{[0-9]+}}
+  // TASKS-SAME: task_type=ompt_task_initial
+  // TASKS: {{^}}[[MASTER_ID:[0-9]+]]: ompt_event_taskloop_begin:
+  // TASKS: ompt_event_task_create:{{.*}} new_task_id=[[TASK_ID1:[0-9]+]]
+  // TASKS-SAME: task_type=ompt_task_explicit
+  // TASKS-DAG: ompt_event_task_create:{{.*}} new_task_id=[[TASK_ID2:[0-9]+]]
+  // Schedule events:
+  // TASKS-DAG: {{^.*}}first_task_id={{[0-9]+}}, second_task_id=[[TASK_ID1]]
+  // TASKS-DAG: {{^.*}}first_task_id=[[TASK_ID1]], second_task_id={{[0-9]+}}
+  // TASKS-DAG: {{^.*}}first_task_id={{[0-9]+}}, second_task_id=[[TASK_ID2]]
+  // TASKS-DAG: {{^.*}}first_task_id=[[TASK_ID2]], second_task_id={{[0-9]+}}
+  // TASKS-NOT: ompt_event_task_schedule
+
   return 0;
 }




More information about the Openmp-commits mailing list