LLVM OpenMP
22.0.0git
runtime
test
ompt
parallel
nested_threadnum.c
Go to the documentation of this file.
1
// clang-format off
2
// RUN: %libomp-compile-and-run | %sort-threads | FileCheck %s
3
// REQUIRES: ompt
4
// clang-format on
5
#include <omp.h>
6
#include "
callback.h
"
7
8
int
main
() {
9
omp_set_nested
(1);
10
#pragma omp parallel num_threads(2)
11
{
12
#pragma omp barrier
13
#pragma omp parallel num_threads(2)
14
{
print_frame
(0); }
15
}
16
17
// clang-format off
18
// CHECK: 0: NULL_POINTER=[[NULL:.*$]]
19
20
// CHECK: {{^}}[[MASTER_ID:[0-9]+]]: ompt_event_parallel_begin:
21
// CHECK-SAME: parallel_id=[[PARALLEL_ID:[0-f]+]]
22
// CHECK: {{^}}[[MASTER_ID]]: ompt_event_implicit_task_begin:
23
// CHECK-SAME: parallel_id=[[PARALLEL_ID]]
24
// CHECK-SAME: thread_num=[[OUTER_THREAD_NUM1:[0-9]+]]
25
// CHECK: {{^}}[[MASTER_ID]]: ompt_event_parallel_begin:
26
// CHECK-SAME: parallel_id=[[INNER_PARALLEL_ID1:[0-9]+]]
27
// CHECK: {{^}}[[MASTER_ID]]: ompt_event_implicit_task_begin:
28
// CHECK-SAME: parallel_id=[[INNER_PARALLEL_ID1]]
29
// CHECK-SAME: thread_num=[[INNER_THREAD_NUM1:[0-9]+]]
30
// CHECK: {{^}}[[MASTER_ID]]: ompt_event_implicit_task_end
31
// CHECK-SAME: thread_num=[[INNER_THREAD_NUM1]]
32
// CHECK: {{^}}[[MASTER_ID]]: ompt_event_parallel_end:
33
// CHECK-SAME: parallel_id=[[INNER_PARALLEL_ID1]]
34
// CHECK: {{^}}[[MASTER_ID]]: ompt_event_implicit_task_end
35
// CHECK-SAME: thread_num=[[OUTER_THREAD_NUM1]]
36
// CHECK: {{^}}[[MASTER_ID]]: ompt_event_parallel_end:
37
// CHECK-SAME: parallel_id=[[PARALLEL_ID]]
38
39
// CHECK: {{^}}[[WORKER_ID1:[0-9]+]]: ompt_event_implicit_task_begin:
40
// CHECK-SAME: parallel_id=[[PARALLEL_ID]]
41
// CHECK-SAME: thread_num=[[OUTER_THREAD_NUM2:[0-9]+]]
42
// CHECK: {{^}}[[WORKER_ID1]]: ompt_event_parallel_begin:
43
// CHECK-SAME: parallel_id=[[INNER_PARALLEL_ID2:[0-9]+]]
44
// CHECK: {{^}}[[WORKER_ID1]]: ompt_event_implicit_task_begin:
45
// CHECK-SAME: parallel_id=[[INNER_PARALLEL_ID2]]
46
// CHECK-SAME: thread_num=[[INNER_THREAD_NUM2:[0-9]+]]
47
// CHECK: {{^}}[[WORKER_ID1]]: ompt_event_implicit_task_end
48
// CHECK-SAME: thread_num=[[INNER_THREAD_NUM2]]
49
// CHECK: {{^}}[[WORKER_ID1]]: ompt_event_parallel_end:
50
// CHECK-SAME: parallel_id=[[INNER_PARALLEL_ID2]]
51
// CHECK: {{^}}[[WORKER_ID1]]: ompt_event_implicit_task_end
52
// CHECK-SAME: thread_num=[[OUTER_THREAD_NUM2]]
53
54
// CHECK: {{^}}[[WORKER_ID2:[0-9]+]]: ompt_event_implicit_task_begin:
55
// CHECK-SAME: thread_num=[[INNER_THREAD_NUM3:[0-9]+]]
56
// CHECK: {{^}}[[WORKER_ID2]]: ompt_event_implicit_task_end
57
// CHECK-SAME: thread_num=[[INNER_THREAD_NUM3]]
58
59
// CHECK: {{^}}[[WORKER_ID3:[0-9]+]]: ompt_event_implicit_task_begin:
60
// CHECK-SAME: thread_num=[[INNER_THREAD_NUM4:[0-9]+]]
61
// CHECK: {{^}}[[WORKER_ID3]]: ompt_event_implicit_task_end
62
// CHECK-SAME: thread_num=[[INNER_THREAD_NUM4]]
63
// clang-format on
64
65
return
0;
66
}
callback.h
print_frame
#define print_frame(level)
Definition
callback.h:210
omp_set_nested
#define omp_set_nested
Definition
kmp_stub.cpp:36
main
int main()
Definition
nested_threadnum.c:8
Generated on
for LLVM OpenMP by
1.14.0