Skip to content

Commit 50e118e

Browse files
authored
[SYCL] Replace deprecated has_extension (intel/llvm-test-suite#434)
1 parent 926eefd commit 50e118e

12 files changed

+49
-19
lines changed

SYCL/InlineAsm/asm_no_operands.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@ int main() {
1212
cl::sycl::queue Queue;
1313
cl::sycl::device Device = Queue.get_device();
1414

15+
auto Vec = Device.get_info<sycl::info::device::extensions>();
1516
if (!isInlineASMSupported(Device) ||
16-
!Device.has_extension("cl_intel_required_subgroup_size")) {
17+
std::find(Vec.begin(), Vec.end(), "cl_intel_required_subgroup_size") ==
18+
std::end(Vec)) {
1719
std::cout << "Skipping test\n";
1820
return 0;
1921
}

SYCL/InlineAsm/include/asmhelper.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,10 @@ bool launchInlineASMTestImpl(F &f, bool requires_particular_sg_size = true) {
102102
return false;
103103
}
104104

105+
auto Vec = device.get_info<sycl::info::device::extensions>();
105106
if (requires_particular_sg_size &&
106-
!device.has_extension("cl_intel_required_subgroup_size")) {
107+
std::find(Vec.begin(), Vec.end(), "cl_intel_required_subgroup_size") ==
108+
std::end(Vec)) {
107109
std::cout << "Skipping test\n";
108110
return false;
109111
}

SYCL/InlineAsm/letter_example.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@ int main() {
1515
cl::sycl::queue q;
1616
cl::sycl::device Device = q.get_device();
1717

18+
auto Vec = Device.get_info<sycl::info::device::extensions>();
1819
if (!isInlineASMSupported(Device) ||
19-
!Device.has_extension("cl_intel_required_subgroup_size")) {
20+
std::find(Vec.begin(), Vec.end(), "cl_intel_required_subgroup_size") ==
21+
std::end(Vec)) {
2022
std::cout << "Skipping test\n";
2123
return 0;
2224
}

SYCL/InlineAsm/malloc_shared_32.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@ int main() {
1616

1717
cl::sycl::device Device = q.get_device();
1818

19+
auto Vec = Device.get_info<sycl::info::device::extensions>();
1920
if (!isInlineASMSupported(Device) ||
20-
!Device.has_extension("cl_intel_required_subgroup_size")) {
21+
std::find(Vec.begin(), Vec.end(), "cl_intel_required_subgroup_size") ==
22+
std::end(Vec)) {
2123
std::cout << "Skipping test\n";
2224
return 0;
2325
}

SYCL/InlineAsm/malloc_shared_in_out_dif.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@ int main() {
1616

1717
cl::sycl::device Device = q.get_device();
1818

19+
auto Vec = Device.get_info<sycl::info::device::extensions>();
1920
if (!isInlineASMSupported(Device) ||
20-
!Device.has_extension("cl_intel_required_subgroup_size")) {
21+
std::find(Vec.begin(), Vec.end(), "cl_intel_required_subgroup_size") ==
22+
std::end(Vec)) {
2123
std::cout << "Skipping test\n";
2224
return 0;
2325
}

SYCL/InlineAsm/malloc_shared_no_input.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@ int main() {
1515
cl::sycl::queue q;
1616
cl::sycl::device Device = q.get_device();
1717

18+
auto Vec = Device.get_info<sycl::info::device::extensions>();
1819
if (!isInlineASMSupported(Device) ||
19-
!Device.has_extension("cl_intel_required_subgroup_size")) {
20+
std::find(Vec.begin(), Vec.end(), "cl_intel_required_subgroup_size") ==
21+
std::end(Vec)) {
2022
std::cout << "Skipping test\n";
2123
return 0;
2224
}

SYCL/Regression/get_subgroup_sizes.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ using namespace cl::sycl;
2020
int main() {
2121
queue Q;
2222
auto Dev = Q.get_device();
23-
if (Dev.has_extension("cl_intel_required_subgroup_size")) {
23+
auto Vec = Dev.get_info<info::device::extensions>();
24+
if (std::find(Vec.begin(), Vec.end(), "cl_intel_required_subgroup_size") !=
25+
std::end(Vec)) {
2426
std::vector<size_t> SubGroupSizes =
2527
Dev.get_info<cl::sycl::info::device::sub_group_sizes>();
2628
std::vector<size_t>::const_iterator MaxIter =

SYCL/SubGroup/attributes.cpp

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,13 @@ int main() {
5656

5757
// According to specification, this kernel query requires `cl_khr_subgroups`
5858
// or `cl_intel_subgroups`, and also `cl_intel_required_subgroup_size`
59-
if ((!Device.has_extension("cl_intel_subgroups") &&
60-
!Device.has_extension("cl_khr_subgroups")) ||
61-
!Device.has_extension("cl_intel_required_subgroup_size")) {
59+
auto Vec = Device.get_info<info::device::extensions>();
60+
if (std::find(Vec.begin(), Vec.end(), "cl_intel_subgroups") ==
61+
std::end(Vec) &&
62+
std::find(Vec.begin(), Vec.end(), "cl_khr_subgroups") ==
63+
std::end(Vec) ||
64+
std::find(Vec.begin(), Vec.end(), "cl_intel_required_subgroup_size") ==
65+
std::end(Vec)) {
6266
std::cout << "Skipping test\n";
6367
return 0;
6468
}

SYCL/SubGroup/generic_reduce.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,9 @@ void check_op(queue &Queue, T init, BinaryOperation op, bool skip_init = false,
6363

6464
int main() {
6565
queue Queue;
66-
if (!Queue.get_device().has_extension("cl_intel_subgroups")) {
66+
auto Vec = Queue.get_device().get_info<info::device::extensions>();
67+
if (std::find(Vec.begin(), Vec.end(), "cl_intel_subgroups") ==
68+
std::end(Vec)) {
6769
std::cout << "Skipping test\n";
6870
return 0;
6971
}

SYCL/SubGroup/helper.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,8 @@ void exit_if_not_equal_vec(vec<T, N> val, vec<T, N> ref, const char *name) {
166166
}
167167

168168
bool core_sg_supported(const device &Device) {
169-
if (Device.has_extension("cl_khr_subgroups"))
169+
auto Vec = Device.get_info<info::device::extensions>();
170+
if (std::find(Vec.begin(), Vec.end(), "cl_khr_subgroups") != std::end(Vec))
170171
return true;
171172
return Device.get_info<info::device::version>() >= "2.1";
172173
}

SYCL/SubGroup/info.cpp

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@ int main() {
5555

5656
/* sub_group_sizes can be queried only if cl_intel_required_subgroup_size
5757
* extension is supported by device*/
58-
if (Device.has_extension("cl_intel_required_subgroup_size")) {
58+
auto Vec = Device.get_info<info::device::extensions>();
59+
if (std::find(Vec.begin(), Vec.end(), "cl_intel_required_subgroup_size") !=
60+
std::end(Vec)) {
5961
auto sg_sizes = Device.get_info<info::device::sub_group_sizes>();
6062
for (auto r : {range<3>(3, 4, 5), range<3>(1, 1, 1), range<3>(4, 2, 1),
6163
range<3>(32, 3, 4), range<3>(7, 9, 11)}) {
@@ -91,9 +93,12 @@ int main() {
9193

9294
// According to specification, this kernel query requires `cl_khr_subgroups`
9395
// or `cl_intel_subgroups`
94-
if ((Device.has_extension("cl_khr_subgroups") ||
95-
Device.has_extension("cl_intel_subgroups")) &&
96-
Device.has_extension("cl_intel_required_subgroup_size")) {
96+
if ((std::find(Vec.begin(), Vec.end(), "cl_khr_subgroups") !=
97+
std::end(Vec)) ||
98+
std::find(Vec.begin(), Vec.end(), "cl_intel_subgroups") !=
99+
std::end(Vec) &&
100+
std::find(Vec.begin(), Vec.end(),
101+
"cl_intel_required_subgroup_size") != std::end(Vec)) {
97102
Res = Kernel.get_sub_group_info<
98103
info::kernel_sub_group::compile_sub_group_size>(Device);
99104

SYCL/SubGroup/load_store.cpp

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,9 @@ int main() {
194194
}
195195
std::string PlatformName =
196196
Queue.get_device().get_platform().get_info<info::platform::name>();
197-
if (Queue.get_device().has_extension("cl_intel_subgroups") ||
197+
auto Vec = Queue.get_device().get_info<info::device::extensions>();
198+
if (std::find(Vec.begin(), Vec.end(), "cl_intel_subgroups") !=
199+
std::end(Vec) ||
198200
PlatformName.find("CUDA") != std::string::npos) {
199201
typedef bool aligned_char __attribute__((aligned(16)));
200202
check<aligned_char>(Queue);
@@ -223,7 +225,8 @@ int main() {
223225
check<aligned_float, 8>(Queue);
224226
check<aligned_float, 16>(Queue);
225227
}
226-
if (Queue.get_device().has_extension("cl_intel_subgroups_short") ||
228+
if (std::find(Vec.begin(), Vec.end(), "cl_intel_subgroups_short") !=
229+
std::end(Vec) ||
227230
PlatformName.find("CUDA") != std::string::npos) {
228231
typedef short aligned_short __attribute__((aligned(16)));
229232
check<aligned_short>(Queue);
@@ -245,7 +248,8 @@ int main() {
245248
check<aligned_half, 16>(Queue);
246249
}
247250
}
248-
if (Queue.get_device().has_extension("cl_intel_subgroups_long") ||
251+
if (std::find(Vec.begin(), Vec.end(), "cl_intel_subgroups_long") !=
252+
std::end(Vec) ||
249253
PlatformName.find("CUDA") != std::string::npos) {
250254
typedef long aligned_long __attribute__((aligned(16)));
251255
check<aligned_long>(Queue);

0 commit comments

Comments
 (0)