Skip to content

Commit dbf9462

Browse files
committed
[SYCL] fix the test/basic_tests/buffer/subbuffer.cpp
Signed-off-by: Rehana Begam <[email protected]>
1 parent 4df1385 commit dbf9462

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

sycl/test/basic_tests/buffer/subbuffer.cpp

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple %s -o %t.out
1+
// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple %s -o %t.out
22
// RUN: env SYCL_DEVICE_TYPE=HOST %t.out
33
// RUN: %CPU_RUN_PLACEHOLDER %t.out
44
// RUN: %GPU_RUN_PLACEHOLDER %t.out
@@ -22,18 +22,22 @@
2222
#include <iostream>
2323
#include <numeric>
2424
#include <vector>
25+
#include <algorithm>
2526

2627
void checkHostAccessor(cl::sycl::queue &q) {
27-
std::size_t size =
28-
q.get_device().get_info<cl::sycl::info::device::mem_base_addr_align>() /
29-
8;
28+
std::size_t subbuf_align =
29+
q.get_device().
30+
get_info<cl::sycl::info::device::mem_base_addr_align>() / 8;
31+
std::size_t size = subbuf_align;
32+
size = std::max(size, 10 * 2 * sizeof(int)); // hold at least 20 elements
3033
size /= sizeof(int);
3134
size *= 2;
35+
3236
std::vector<int> data(size);
3337
std::iota(data.begin(), data.end(), 0);
3438
{
3539
cl::sycl::buffer<int, 1> buf(data.data(), size);
36-
cl::sycl::buffer<int, 1> subbuf(buf, {size / 2}, {10});
40+
cl::sycl::buffer<int, 1> subbuf(buf, {size /2}, {10});
3741

3842
{
3943
auto host_acc = subbuf.get_access<cl::sycl::access::mode::write>();
@@ -59,9 +63,11 @@ void checkHostAccessor(cl::sycl::queue &q) {
5963
}
6064

6165
void check1DSubBuffer(cl::sycl::queue &q) {
62-
std::size_t size =
63-
q.get_device().get_info<cl::sycl::info::device::mem_base_addr_align>() /
64-
8;
66+
std::size_t subbuf_align =
67+
q.get_device().
68+
get_info<cl::sycl::info::device::mem_base_addr_align>() / 8;
69+
std::size_t size = subbuf_align;
70+
size = std::max(size, 32 * sizeof(int)); // hold at least 32 elements
6571
size /= sizeof(int);
6672
size *= 2;
6773

0 commit comments

Comments
 (0)