Skip to content
This repository was archived by the owner on Mar 28, 2023. It is now read-only.

Commit 50104a0

Browse files
authored
Adjusts test ranges in preparation for a change in the compiler implementation (#161)
This change adjusts test ranges in preparation for a change in the compiler implementation. Signed-off-by: rdeodhar <[email protected]>
1 parent 0ed96b4 commit 50104a0

File tree

2 files changed

+90
-28
lines changed

2 files changed

+90
-28
lines changed
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple -DSYCL_DISABLE_PARALLEL_FOR_RANGE_ROUNDING %s -o %t.out
2+
// RUN: %GPU_RUN_PLACEHOLDER SYCL_PARALLEL_FOR_RANGE_ROUNDING_TRACE=1 %t.out %GPU_CHECK_PLACEHOLDER --check-prefix CHECK-DISABLED
3+
4+
// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple -sycl-std=2017 %s -o %t.out
5+
// RUN: %GPU_RUN_PLACEHOLDER SYCL_PARALLEL_FOR_RANGE_ROUNDING_TRACE=1 %t.out %GPU_CHECK_PLACEHOLDER --check-prefix CHECK-DISABLED
6+
7+
// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple -sycl-std=2020 %s -o %t.out
8+
// RUN: %GPU_RUN_PLACEHOLDER SYCL_PARALLEL_FOR_RANGE_ROUNDING_TRACE=1 %t.out %GPU_CHECK_PLACEHOLDER --check-prefix CHECK-ENABLED
9+
10+
#include <CL/sycl.hpp>
11+
12+
using namespace sycl;
13+
14+
range<1> Range1 = {0};
15+
16+
void check(const char *msg, size_t v, size_t ref) {
17+
std::cout << msg << v << std::endl;
18+
assert(v == ref);
19+
}
20+
21+
int try_rounding_off(size_t size) {
22+
range<1> Size{size};
23+
int Counter = 0;
24+
{
25+
buffer<range<1>, 1> BufRange(&Range1, 1);
26+
buffer<int, 1> BufCounter(&Counter, 1);
27+
queue myQueue;
28+
29+
std::cout << "Run parallel_for" << std::endl;
30+
myQueue.submit([&](handler &cgh) {
31+
auto AccRange = BufRange.get_access<access::mode::read_write>(cgh);
32+
auto AccCounter = BufCounter.get_access<access::mode::atomic>(cgh);
33+
cgh.parallel_for<class PF_init_item1>(Size, [=](item<1> ITEM) {
34+
AccCounter[0].fetch_add(1);
35+
AccRange[0] = ITEM.get_range(0);
36+
});
37+
});
38+
myQueue.wait();
39+
}
40+
check("Size seen by user = ", Range1.get(0), size);
41+
check("Counter = ", Counter, size);
42+
return 0;
43+
}
44+
45+
int main() {
46+
int x;
47+
48+
x = 1500;
49+
try_rounding_off(x);
50+
51+
return 0;
52+
}
53+
54+
// CHECK-DISABLED: Run parallel_for
55+
// CHECK-DISABLED-NOT: parallel_for range adjusted from 1500
56+
// CHECK-DISABLED: Size seen by user = 1500
57+
// CHECK-DISABLED-NEXT: Counter = 1500
58+
59+
// CHECK-ENABLED: Run parallel_for
60+
// CHECK-ENABLED-NEXT: parallel_for range adjusted from 1500
61+
// CHECK-ENABLED-NEXT: Size seen by user = 1500
62+
// CHECK-ENABLED-NEXT: Counter = 1500

SYCL/Basic/parallel_for_range_roundup.cpp

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ int try_item1(size_t size) {
4040
}
4141

4242
void try_item2(size_t size) {
43-
range<2> Size{size, size};
43+
range<2> Size{size, 10};
4444
int Counter = 0;
4545
{
4646
buffer<range<2>, 1> BufRange(&Range2, 1);
@@ -58,11 +58,11 @@ void try_item2(size_t size) {
5858
myQueue.wait();
5959
}
6060
check("Size seen by user = ", Range2.get(0), size);
61-
check("Counter = ", Counter, size * size);
61+
check("Counter = ", Counter, size * 10);
6262
}
6363

6464
void try_item3(size_t size) {
65-
range<3> Size{size, size, size};
65+
range<3> Size{size, 10, 10};
6666
int Counter = 0;
6767
{
6868
buffer<range<3>, 1> BufRange(&Range3, 1);
@@ -80,7 +80,7 @@ void try_item3(size_t size) {
8080
myQueue.wait();
8181
}
8282
check("Size seen by user = ", Range3.get(0), size);
83-
check("Counter = ", Counter, size * size * size);
83+
check("Counter = ", Counter, size * 10 * 10);
8484
}
8585

8686
void try_id1(size_t size) {
@@ -105,7 +105,7 @@ void try_id1(size_t size) {
105105
}
106106

107107
void try_id2(size_t size) {
108-
range<2> Size{size, size};
108+
range<2> Size{size, 10};
109109
int Counter = 0;
110110
{
111111
buffer<range<2>, 1> BufRange(&Range2, 1);
@@ -122,11 +122,11 @@ void try_id2(size_t size) {
122122
});
123123
myQueue.wait();
124124
}
125-
check("Counter = ", Counter, size * size);
125+
check("Counter = ", Counter, size * 10);
126126
}
127127

128128
void try_id3(size_t size) {
129-
range<3> Size{size, size, size};
129+
range<3> Size{size, 10, 10};
130130
int Counter = 0;
131131
{
132132
buffer<range<3>, 1> BufRange(&Range3, 1);
@@ -143,13 +143,13 @@ void try_id3(size_t size) {
143143
});
144144
myQueue.wait();
145145
}
146-
check("Counter = ", Counter, size * size * size);
146+
check("Counter = ", Counter, size * 10 * 10);
147147
}
148148

149149
int main() {
150150
int x;
151151

152-
x = 10;
152+
x = 1500;
153153
try_item1(x);
154154
try_item2(x);
155155
try_item3(x);
@@ -168,27 +168,27 @@ int main() {
168168
return 0;
169169
}
170170

171-
// CHECK: parallel_for range adjusted from 10 to 32
172-
// CHECK-NEXT: Size seen by user = 10
173-
// CHECK-NEXT: Counter = 10
174-
// CHECK-NEXT: parallel_for range adjusted from 10 to 32
175-
// CHECK-NEXT: Size seen by user = 10
176-
// CHECK-NEXT: Counter = 100
177-
// CHECK-NEXT: parallel_for range adjusted from 10 to 32
178-
// CHECK-NEXT: Size seen by user = 10
179-
// CHECK-NEXT: Counter = 1000
180-
// CHECK-NEXT: parallel_for range adjusted from 10 to 32
181-
// CHECK-NEXT: Counter = 10
182-
// CHECK-NEXT: parallel_for range adjusted from 10 to 32
183-
// CHECK-NEXT: Counter = 100
184-
// CHECK-NEXT: parallel_for range adjusted from 10 to 32
185-
// CHECK-NEXT: Counter = 1000
171+
// CHECK: parallel_for range adjusted from 1500 to 1504
172+
// CHECK-NEXT: Size seen by user = 1500
173+
// CHECK-NEXT: Counter = 1500
174+
// CHECK-NEXT: parallel_for range adjusted from 1500 to 1504
175+
// CHECK-NEXT: Size seen by user = 1500
176+
// CHECK-NEXT: Counter = 15000
177+
// CHECK-NEXT: parallel_for range adjusted from 1500 to 1504
178+
// CHECK-NEXT: Size seen by user = 1500
179+
// CHECK-NEXT: Counter = 150000
180+
// CHECK-NEXT: parallel_for range adjusted from 1500 to 1504
181+
// CHECK-NEXT: Counter = 1500
182+
// CHECK-NEXT: parallel_for range adjusted from 1500 to 1504
183+
// CHECK-NEXT: Counter = 15000
184+
// CHECK-NEXT: parallel_for range adjusted from 1500 to 1504
185+
// CHECK-NEXT: Counter = 150000
186186
// CHECK-NEXT: Size seen by user = 256
187187
// CHECK-NEXT: Counter = 256
188188
// CHECK-NEXT: Size seen by user = 256
189-
// CHECK-NEXT: Counter = 65536
189+
// CHECK-NEXT: Counter = 2560
190190
// CHECK-NEXT: Size seen by user = 256
191-
// CHECK-NEXT: Counter = 16777216
191+
// CHECK-NEXT: Counter = 25600
192192
// CHECK-NEXT: Counter = 256
193-
// CHECK-NEXT: Counter = 65536
194-
// CHECK-NEXT: Counter = 16777216
193+
// CHECK-NEXT: Counter = 2560
194+
// CHECK-NEXT: Counter = 25600

0 commit comments

Comments
 (0)