• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // RUN: %libomp-compile-and-run | %sort-threads | FileCheck %s
2 // REQUIRES: ompt
3 #include "callback.h"
4 #include <omp.h>
5 
main()6 int main() {
7 
8   int condition = 0;
9   int x = 0;
10   omp_set_nested(1);
11 #pragma omp parallel num_threads(2)
12   {
13 #pragma omp parallel num_threads(2)
14     {
15       OMPT_SIGNAL(condition);
16       OMPT_WAIT(condition, 4);
17     }
18   }
19 
20   // CHECK: 0: NULL_POINTER=[[NULL:.*$]]
21 
22   // CHECK: {{^}}[[MASTER_ID:[0-9]+]]: ompt_event_thread_begin:
23   // CHECK-SAME: thread_type=ompt_thread_initial=1, thread_id=[[MASTER_ID]]
24   // CHECK: {{^}}[[MASTER_ID]]: ompt_event_thread_end:
25   // CHECK-SAME: thread_id=[[MASTER_ID]]
26   // CHECK: {{^}}[[WORKER_ID1:[0-9]+]]: ompt_event_thread_begin:
27   // CHECK-SAME: thread_type=ompt_thread_worker=2, thread_id=[[WORKER_ID1]]
28   // CHECK: {{^}}[[WORKER_ID1]]: ompt_event_thread_end:
29   // CHECK-SAME: thread_id=[[WORKER_ID1]]
30   // CHECK: {{^}}[[WORKER_ID2:[0-9]+]]: ompt_event_thread_begin:
31   // CHECK-SAME: thread_type=ompt_thread_worker=2, thread_id=[[WORKER_ID2]]
32   // CHECK: {{^}}[[WORKER_ID2]]: ompt_event_thread_end:
33   // CHECK-SAME: thread_id=[[WORKER_ID2]]
34   // CHECK: {{^}}[[WORKER_ID3:[0-9]+]]: ompt_event_thread_begin:
35   // CHECK-SAME: thread_type=ompt_thread_worker=2, thread_id=[[WORKER_ID3]]
36   // CHECK: {{^}}[[WORKER_ID3]]: ompt_event_thread_end:
37   // CHECK-SAME: thread_id=[[WORKER_ID3]]
38 
39   return 0;
40 }
41