From 3732d2e07a6a7fb0d8d707e209e59f2d12b45f94 Mon Sep 17 00:00:00 2001 From: Pavel Samolysov Date: Tue, 11 Jan 2022 10:04:02 +0300 Subject: [PATCH 1/2] [SYCL] Use the sycl:: namespace instead of cl::sycl:: one Moving from SYCL 1.2.1 to SYCL 2020 should change two things: - The cl::sycl namespace should be sycl:: instead and come in via sycl/sycl.hpp - sycl::access::target should be sycl::target because the former is deprecated Signed-off-by: Pavel Samolysov --- SYCL/Basic/accessor/accessor.cpp | 89 ++++++++++++++++---------------- 1 file changed, 45 insertions(+), 44 deletions(-) diff --git a/SYCL/Basic/accessor/accessor.cpp b/SYCL/Basic/accessor/accessor.cpp index 69ce142477..0c6da1b135 100644 --- a/SYCL/Basic/accessor/accessor.cpp +++ b/SYCL/Basic/accessor/accessor.cpp @@ -11,7 +11,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// -#include +#include #include struct IdxID1 { @@ -31,8 +31,9 @@ struct IdxID3 { }; template -using AccAlias = cl::sycl::accessor; +using AccAlias = sycl::accessor; + template struct InheritedAccessor : public AccAlias { using AccAlias::AccAlias; @@ -66,9 +67,9 @@ int main() { int dst[2]; sycl::buffer buf_src(src, sycl::range<1>(2), - {cl::sycl::property::buffer::use_host_ptr()}); + {sycl::property::buffer::use_host_ptr()}); sycl::buffer buf_dst(dst, sycl::range<1>(2), - {cl::sycl::property::buffer::use_host_ptr()}); + {sycl::property::buffer::use_host_ptr()}); sycl::id<1> id1(1); auto acc_src = buf_src.get_access(); @@ -122,7 +123,7 @@ int main() { sycl::queue Queue; sycl::buffer buf(&data, sycl::range<1>(1), - {cl::sycl::property::buffer::use_host_ptr()}); + {sycl::property::buffer::use_host_ptr()}); Queue.submit([&](sycl::handler &cgh) { auto acc = buf.get_access(cgh); @@ -144,7 +145,7 @@ int main() { { sycl::range<2> Range(2, 3); sycl::buffer buf((int *)array, Range, - {cl::sycl::property::buffer::use_host_ptr()}); + {sycl::property::buffer::use_host_ptr()}); Queue.submit([&](sycl::handler &cgh) { auto acc = buf.get_access(cgh); @@ -169,18 +170,18 @@ int main() { // Device accessor with 2-dimensional subscript operators for atomic accessor // check compile error { - cl::sycl::queue queue; + sycl::queue queue; if (!queue.is_host()) { - cl::sycl::range<2> range(1, 1); + sycl::range<2> range(1, 1); int Arr[] = {2}; { - cl::sycl::buffer Buf(Arr, 1); - queue.submit([&](cl::sycl::handler &cgh) { + sycl::buffer Buf(Arr, 1); + queue.submit([&](sycl::handler &cgh) { auto acc = - cl::sycl::accessor(range, cgh); + sycl::accessor(range, cgh); cgh.parallel_for( - cl::sycl::nd_range<2>{range, range}, [=](cl::sycl::nd_item<2>) { + sycl::nd_range<2>{range, range}, [=](sycl::nd_item<2>) { sycl::atomic value = acc[0][0]; }); @@ -197,7 +198,7 @@ int main() { { sycl::range<3> Range(2, 3, 4); sycl::buffer buf((int *)array, Range, - {cl::sycl::property::buffer::use_host_ptr()}); + {sycl::property::buffer::use_host_ptr()}); Queue.submit([&](sycl::handler &cgh) { auto acc = buf.get_access(cgh); @@ -225,23 +226,23 @@ int main() { // Local accessor { - cl::sycl::queue queue; + sycl::queue queue; constexpr int dims = 1; using data_loc = int; - constexpr auto mode_loc = cl::sycl::access::mode::read_write; - constexpr auto target_loc = cl::sycl::target::local; - const auto range_loc = cl::sycl::range<1>(1); + constexpr auto mode_loc = sycl::access::mode::read_write; + constexpr auto target_loc = sycl::target::local; + const auto range_loc = sycl::range<1>(1); { - queue.submit([&](cl::sycl::handler &cgh) { - auto properties = cl::sycl::property_list{}; + queue.submit([&](sycl::handler &cgh) { + auto properties = sycl::property_list{}; auto acc_loc_p = - cl::sycl::accessor( + sycl::accessor( range_loc, cgh, properties); - auto acc_loc = cl::sycl::accessor( + auto acc_loc = sycl::accessor( range_loc, cgh); cgh.single_task([=]() {}); @@ -266,7 +267,7 @@ int main() { for (int i = 0; i != 3; ++i) assert(host_acc[i] == 42); - } catch (cl::sycl::exception e) { + } catch (sycl::exception e) { std::cout << "SYCL exception caught: " << e.what(); return 1; } @@ -286,7 +287,7 @@ int main() { }); auto host_acc = buf.get_access(); - } catch (cl::sycl::exception e) { + } catch (sycl::exception e) { std::cout << "SYCL exception caught: " << e.what(); return 1; } @@ -299,7 +300,7 @@ int main() { int array[10] = {0}; { sycl::buffer buf((int *)array, sycl::range<1>(10), - {cl::sycl::property::buffer::use_host_ptr()}); + {sycl::property::buffer::use_host_ptr()}); queue.submit([&](sycl::handler &cgh) { auto acc = buf.get_access(cgh); auto acc_wrapped = AccWrapper{acc}; @@ -330,9 +331,9 @@ int main() { int array2[10] = {0}; { sycl::buffer buf1((int *)array1, sycl::range<1>(10), - {cl::sycl::property::buffer::use_host_ptr()}); + {sycl::property::buffer::use_host_ptr()}); sycl::buffer buf2((int *)array2, sycl::range<1>(10), - {cl::sycl::property::buffer::use_host_ptr()}); + {sycl::property::buffer::use_host_ptr()}); queue.submit([&](sycl::handler &cgh) { auto acc1 = buf1.get_access(cgh); auto acc2 = buf2.get_access(cgh); @@ -371,7 +372,7 @@ int main() { int array[10] = {0}; { sycl::buffer buf((int *)array, sycl::range<1>(10), - {cl::sycl::property::buffer::use_host_ptr()}); + {sycl::property::buffer::use_host_ptr()}); queue.submit([&](sycl::handler &cgh) { auto acc = buf.get_access(cgh); auto acc_wrapped = AccWrapper{acc}; @@ -416,7 +417,7 @@ int main() { for (int i = 0; i != 3; ++i) assert(host_acc[i] == 42); - } catch (cl::sycl::exception e) { + } catch (sycl::exception e) { std::cout << "SYCL exception caught: " << e.what(); return 1; } @@ -431,7 +432,7 @@ int main() { sycl::queue queue; queue.submit([&](sycl::handler &cgh) { sycl::accessor + sycl::target::device> B(b, cgh); cgh.single_task([=]() { auto B2 = B; @@ -463,13 +464,13 @@ int main() { sycl::queue queue; queue.submit([&](sycl::handler &cgh) { sycl::accessor + sycl::target::device> acc1(buf1, cgh); sycl::accessor + sycl::target::device> acc2(buf2, cgh); sycl::accessor + sycl::target::device> acc3(buf3, cgh, sycl::range<1>(1)); cgh.single_task([=]() { acc1 *= 2; @@ -479,13 +480,13 @@ int main() { }); sycl::accessor + sycl::target::host_buffer> acc4(buf1); sycl::accessor + sycl::target::host_buffer> acc5(buf2); sycl::accessor + sycl::target::host_buffer> acc6(buf3, sycl::range<1>(1)); assert(acc4 == 2); @@ -506,10 +507,10 @@ int main() { sycl::queue queue; queue.submit([&](sycl::handler &cgh) { sycl::accessor + sycl::target::device> D(d, cgh); sycl::accessor + sycl::target::constant_buffer> C(c, cgh); cgh.single_task([=]() { D[0] = C[0]; }); @@ -536,11 +537,11 @@ int main() { sycl::buffer c(&cnst, sycl::range<1>(1)); sycl::accessor D(d); sycl::accessor C(c); @@ -574,10 +575,10 @@ int main() { sycl::queue queue; queue.submit([&](sycl::handler &cgh) { sycl::accessor + sycl::target::device> AccA(A, cgh); sycl::accessor + sycl::target::constant_buffer> AccB(B, cgh); InheritedAccessor AccC(C, cgh); cgh.single_task( @@ -609,7 +610,7 @@ int main() { sycl::queue queue; queue.submit([&](sycl::handler &cgh) { sycl::accessor + sycl::target::device> B(b, cgh); auto B1 = b1.template get_access(cgh); From 4a32a99ebf00dee19280642f5640d9cb5c2ac56a Mon Sep 17 00:00:00 2001 From: Pavel Samolysov Date: Mon, 17 Jan 2022 18:42:15 +0300 Subject: [PATCH 2/2] [SYCL][NFC] Fix formatting issues Signed-off-by: Pavel Samolysov --- SYCL/Basic/accessor/accessor.cpp | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/SYCL/Basic/accessor/accessor.cpp b/SYCL/Basic/accessor/accessor.cpp index 0c6da1b135..e39bdbc1d2 100644 --- a/SYCL/Basic/accessor/accessor.cpp +++ b/SYCL/Basic/accessor/accessor.cpp @@ -11,8 +11,8 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// -#include #include +#include struct IdxID1 { int x; @@ -31,8 +31,8 @@ struct IdxID3 { }; template -using AccAlias = sycl::accessor; +using AccAlias = + sycl::accessor; template struct InheritedAccessor : public AccAlias { @@ -177,9 +177,8 @@ int main() { { sycl::buffer Buf(Arr, 1); queue.submit([&](sycl::handler &cgh) { - auto acc = - sycl::accessor(range, cgh); + auto acc = sycl::accessor(range, cgh); cgh.parallel_for( sycl::nd_range<2>{range, range}, [=](sycl::nd_item<2>) { sycl::atomic @@ -239,9 +238,8 @@ int main() { queue.submit([&](sycl::handler &cgh) { auto properties = sycl::property_list{}; - auto acc_loc_p = - sycl::accessor( - range_loc, cgh, properties); + auto acc_loc_p = sycl::accessor( + range_loc, cgh, properties); auto acc_loc = sycl::accessor( range_loc, cgh); @@ -479,14 +477,11 @@ int main() { }); }); - sycl::accessor + sycl::accessor acc4(buf1); - sycl::accessor + sycl::accessor acc5(buf2); - sycl::accessor + sycl::accessor acc6(buf3, sycl::range<1>(1)); assert(acc4 == 2); @@ -536,8 +531,7 @@ int main() { sycl::buffer d(&data, sycl::range<1>(1)); sycl::buffer c(&cnst, sycl::range<1>(1)); - sycl::accessor D(d); sycl::accessor