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

Commit babf58b

Browse files
[SYCL] Adjust tests to info descriptor changes
1 parent 9d2c047 commit babf58b

File tree

4 files changed

+23
-48
lines changed

4 files changed

+23
-48
lines changed

SYCL/Basic/info.cpp

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,14 @@
1111
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
1212
//
1313
//===----------------------------------------------------------------------===//
14+
#include <sycl/sycl.hpp>
15+
16+
#include <cassert>
1417
#include <cstdint>
1518
#include <iostream>
1619
#include <string>
1720
#include <strstream>
18-
#include <sycl/sycl.hpp>
21+
#include <type_traits>
1922

2023
using namespace cl::sycl;
2124

@@ -175,9 +178,9 @@ template <> std::string info_to_string(device info) {
175178
return "SYCL OpenCL device";
176179
}
177180

178-
template <> std::string info_to_string(id<3> info) {
181+
template <int Dim> std::string info_to_string(id<Dim> info) {
179182
std::string str;
180-
for (size_t i = 0; i < 3; ++i) {
183+
for (size_t i = 0; i < Dim; ++i) {
181184
str += info_to_string(info[i]) + " ";
182185
}
183186
return str;
@@ -194,15 +197,21 @@ template <typename T> std::string info_to_string(std::vector<T> info) {
194197
return str;
195198
}
196199

197-
template <info::device param, typename T>
200+
template <typename Param, typename ExpectedReturnT>
198201
void print_info(const device &dev, const std::string &name) {
199-
T result(dev.get_info<param>());
202+
static_assert(
203+
std::is_same<typename Param::return_type, ExpectedReturnT>::value,
204+
"Unexpected info query return type");
205+
ExpectedReturnT result = dev.get_info<Param>();
200206
std::cout << name << ": " << info_to_string(result) << std::endl;
201207
}
202208

203-
template <info::platform param, typename T>
209+
template <typename Param, typename ExpectedReturnT>
204210
void print_info(const platform &plt, const std::string &name) {
205-
T result(plt.get_info<param>());
211+
static_assert(
212+
std::is_same<typename Param::return_type, ExpectedReturnT>::value,
213+
"Unexpected info query return type");
214+
ExpectedReturnT result(plt.get_info<Param>());
206215
std::cout << name << ": " << info_to_string(result) << std::endl;
207216
}
208217

@@ -218,8 +227,12 @@ int main() {
218227
dev, "Max compute units");
219228
print_info<info::device::max_work_item_dimensions, cl::sycl::cl_uint>(
220229
dev, "Max work item dimensions");
221-
print_info<info::device::max_work_item_sizes, id<3>>(dev,
222-
"Max work item sizes");
230+
print_info<info::device::max_work_item_sizes<1>, id<1>>(
231+
dev, "Max work item sizes 1D");
232+
print_info<info::device::max_work_item_sizes<2>, id<2>>(
233+
dev, "Max work item sizes 2D");
234+
print_info<info::device::max_work_item_sizes<3>, id<3>>(
235+
dev, "Max work item sizes 3D");
223236
print_info<info::device::max_work_group_size, size_t>(dev,
224237
"Max work group size");
225238
print_info<info::device::preferred_vector_width_char, cl::sycl::cl_uint>(

SYCL/Basic/kernel_info.cpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,7 @@ int main() {
4848
const size_t wgSize =
4949
krn.get_info<info::kernel_device_specific::work_group_size>(dev);
5050
assert(wgSize > 0);
51-
const size_t wgSizeNew =
52-
krn.get_info<info::kernel_device_specific::work_group_size>(dev);
53-
assert(wgSizeNew > 0);
54-
assert(wgSize == wgSizeNew);
5551
const size_t prefWGSizeMult = krn.get_info<
5652
info::kernel_device_specific::preferred_work_group_size_multiple>(dev);
5753
assert(prefWGSizeMult > 0);
58-
const size_t prefWGSizeMultNew = krn.get_info<
59-
info::kernel_device_specific::preferred_work_group_size_multiple>(dev);
60-
assert(prefWGSizeMultNew > 0);
61-
assert(prefWGSizeMult == prefWGSizeMultNew);
6254
}

SYCL/DeprecatedFeatures/kernel_info.cpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,7 @@ int main() {
5353
const size_t wgSize =
5454
krn.get_info<info::kernel_device_specific::work_group_size>(dev);
5555
assert(wgSize > 0);
56-
const size_t wgSizeNew =
57-
krn.get_info<info::kernel_device_specific::work_group_size>(dev);
58-
assert(wgSizeNew > 0);
59-
assert(wgSize == wgSizeNew);
6056
const size_t prefWGSizeMult = krn.get_info<
6157
info::kernel_device_specific::preferred_work_group_size_multiple>(dev);
6258
assert(prefWGSizeMult > 0);
63-
const size_t prefWGSizeMultNew = krn.get_info<
64-
info::kernel_device_specific::preferred_work_group_size_multiple>(dev);
65-
assert(prefWGSizeMultNew > 0);
66-
assert(prefWGSizeMult == prefWGSizeMultNew);
6759
}

SYCL/SubGroup/info.cpp

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -62,30 +62,14 @@ int main() {
6262
auto sg_sizes = Device.get_info<info::device::sub_group_sizes>();
6363
for (auto r : {range<3>(3, 4, 5), range<3>(1, 1, 1), range<3>(4, 2, 1),
6464
range<3>(32, 3, 4), range<3>(7, 9, 11)}) {
65-
Res =
66-
Kernel
67-
.get_sub_group_info<info::kernel_sub_group::max_sub_group_size>(
68-
Device, r);
69-
bool Expected =
70-
std::find(sg_sizes.begin(), sg_sizes.end(), Res) != sg_sizes.end();
71-
exit_if_not_equal<bool>(Expected, true, "max_sub_group_size");
72-
7365
Res = Kernel.get_info<info::kernel_device_specific::max_sub_group_size>(
7466
Device, r);
75-
Expected =
67+
bool Expected =
7668
std::find(sg_sizes.begin(), sg_sizes.end(), Res) != sg_sizes.end();
7769
exit_if_not_equal<bool>(Expected, true, "max_sub_group_size");
7870
}
7971
}
8072

81-
Res =
82-
Kernel
83-
.get_sub_group_info<info::kernel_sub_group::compile_num_sub_groups>(
84-
Device);
85-
86-
/* Sub-group size is not specified in kernel or IL*/
87-
exit_if_not_equal<uint32_t>(Res, 0, "compile_num_sub_groups");
88-
8973
Res = Kernel.get_info<info::kernel_device_specific::compile_num_sub_groups>(
9074
Device);
9175

@@ -100,12 +84,6 @@ int main() {
10084
std::end(Vec) &&
10185
std::find(Vec.begin(), Vec.end(),
10286
"cl_intel_required_subgroup_size") != std::end(Vec)) {
103-
Res = Kernel.get_sub_group_info<
104-
info::kernel_sub_group::compile_sub_group_size>(Device);
105-
106-
/* Required sub-group size is not specified in kernel or IL*/
107-
exit_if_not_equal<uint32_t>(Res, 0, "compile_sub_group_size");
108-
10987
Res =
11088
Kernel.get_info<info::kernel_device_specific::compile_sub_group_size>(
11189
Device);

0 commit comments

Comments
 (0)