-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmaster_taskloop_simd.txt
138 lines (87 loc) · 4.85 KB
/
master_taskloop_simd.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/*
* Copyright (c) 2018-2020, High Performance Computing Architecture and System
* research laboratory at University of North Carolina at Charlotte (HPCAS@UNCC)
* and Lawrence Livermore National Security, LLC.
*
* SPDX-License-Identifier: (BSD-3-Clause)
*/
//For testing purpose, there are several extra empty lines.
//The final version should only contain necessary information.
//This is not a C/C++ code, so there's no required writing style.
//Only two kinds of special lines will be recognized.
//One is starting with "omp", which is the input.
//The other one is starting with "PASS: ", which is the result for validation.
#pragma omp master taskloop simd if (a) if (taskloop : b) if (simd : a)
PASS: #pragma omp master taskloop simd if (a) if (taskloop: b) if (simd: a)
#pragma omp master taskloop simd shared (a, b, c[1:10])
PASS: #pragma omp master taskloop simd shared (a, b, c[1:10])
#pragma omp master taskloop simd private (a, b) private (a, c)
PASS: #pragma omp master taskloop simd private (a, b, c)
#pragma omp master taskloop simd firstprivate (x, y)
PASS: #pragma omp master taskloop simd firstprivate (x, y)
#pragma omp master taskloop simd lastprivate(conditional:a,b,c)
PASS: #pragma omp master taskloop simd lastprivate (conditional: a, b, c)
#pragma omp master taskloop simd reduction (default, + : a, foo(x))
PASS: #pragma omp master taskloop simd reduction (default, + : a, foo(x))
#pragma omp master taskloop simd in_reduction (+ : a, foo(x)) in_reduction (abc : x, y, z) in_reduction (user_defined_value : x, y, z) in_reduction (max : a, foo(x))
PASS: #pragma omp master taskloop simd in_reduction (+ : a, foo(x)) in_reduction (abc : x, y, z) in_reduction (user_defined_value : x, y, z) in_reduction (max : a, foo(x))
#pragma omp master taskloop simd default (shared)
PASS: #pragma omp master taskloop simd default (shared)
#pragma omp master taskloop simd default (none)
PASS: #pragma omp master taskloop simd default (none)
#pragma omp master taskloop simd grainsize (3)
PASS: #pragma omp master taskloop simd grainsize (3)
#pragma omp master taskloop simd num_tasks (3*5+4/(7+10))
PASS: #pragma omp master taskloop simd num_tasks (3*5+4/(7+10))
#pragma omp master taskloop simd num_tasks (3*5+4/(7+10))
PASS: #pragma omp master taskloop simd num_tasks (3*5+4/(7+10))
#pragma omp master taskloop simd collapse (asd)
PASS: #pragma omp master taskloop simd collapse (asd)
#pragma omp master taskloop simd final (2839/9823)
PASS: #pragma omp master taskloop simd final (2839/9823)
#pragma omp master taskloop simd priority (256)
PASS: #pragma omp master taskloop simd priority (256)
#pragma omp master taskloop simd untied
PASS: #pragma omp master taskloop simd untied
#pragma omp master taskloop simd mergeable
PASS: #pragma omp master taskloop simd mergeable
#pragma omp master taskloop simd nogroup
PASS: #pragma omp master taskloop simd nogroup
#pragma omp master taskloop simd allocate (omp_high_bw_mem_alloc : m, n[1:5]) allocate (no, allo, cator) allocate (user_defined_test : m, n[1:5])
PASS: #pragma omp master taskloop simd allocate (omp_high_bw_mem_alloc: m, n[1:5]) allocate (no, allo, cator) allocate (user_defined_test: m, n[1:5])
#pragma omp master taskloop simd safelen(4)
PASS: #pragma omp master taskloop simd safelen (4)
#pragma omp master taskloop simd simdlen(4)
PASS: #pragma omp master taskloop simd simdlen (4)
#pragma omp master taskloop simd linear(a,b,c:2)
PASS: #pragma omp master taskloop simd linear (a, b, c:2)
#pragma omp master taskloop simd aligned(*a,&b,c:2)
PASS: #pragma omp master taskloop simd aligned (*a, &b, c:2)
#pragma omp master taskloop simd nontemporal(a)
PASS: #pragma omp master taskloop simd nontemporal (a)
#pragma omp master taskloop simd order(concurrent)
PASS: #pragma omp master taskloop simd order (concurrent)
// invalid test without paired validation.
#pragma omp master taskloop simd if (a) if (task : b)
#pragma omp master taskloop simd shared
#pragma omp master taskloop simd private (a, b) private
#pragma omp master taskloop simd firstprivate
#pragma omp master taskloop simd lastprivate(sde:a,b,c)
#pragma omp master taskloop simd reduction (task, + : a, foo(x))
#pragma omp master taskloop simd in_reduction (task, so : a, foo(x))
#pragma omp master taskloop simd default
#pragma omp master taskloop simd grainsize
#pragma omp master taskloop simd num_tasks
#pragma omp master taskloop simd collapse
#pragma omp master taskloop simd priority
#pragma omp master taskloop simd final
#pragma omp master taskloop simd untied (23)
#pragma omp master taskloop simd mergeable (23)
#pragma omp master taskloop simd nogroup (23)
#pragma omp master taskloop simd safelen
#pragma omp master taskloop simd simdlen
#pragma omp master taskloop simd linear
#pragma omp master taskloop simd aligned
#pragma omp master taskloop simd collapse
#pragma omp master taskloop simd nontemporal
#pragma omp master taskloop simd order