From 1261902ae9c5e192a7811318cde9d7898790c71a Mon Sep 17 00:00:00 2001 From: mdimakov Date: Wed, 1 Dec 2021 13:25:09 +0300 Subject: [PATCH 1/4] Add test for kernel program cache Signed-off-by: mdimakov --- SYCL/Basic/kernel_program_cache.cpp | 42 +++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 SYCL/Basic/kernel_program_cache.cpp diff --git a/SYCL/Basic/kernel_program_cache.cpp b/SYCL/Basic/kernel_program_cache.cpp new file mode 100644 index 0000000000..3eeacf3553 --- /dev/null +++ b/SYCL/Basic/kernel_program_cache.cpp @@ -0,0 +1,42 @@ +// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple %s -o %t.out +// RUN: env CreateMultipleRootDevices=2 NEOReadDebugKeys=1 \ +// RUN: SYCL_DEVICE_FILTER="level_zero:gpu" %t.out +// RUN: env CreateMultipleRootDevices=2 NEOReadDebugKeys=1 \ +// RUN: SYCL_DEVICE_FILTER="opencl:gpu" %t.out + +//==---------- kernel_program_cache.cpp --- KernelProgramCache test --------==// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#include +using namespace sycl; + +class empty_functor { + public: + void operator()(cl::sycl::nd_item<1> item) const {} +}; + +template +void test(cl::sycl::queue &queue, Functor functor) { + auto bundle = cl::sycl::get_kernel_bundle(queue.get_context()); + + queue.submit([&](cl::sycl::handler &cgh) { + cgh.parallel_for(cl::sycl::nd_range<1>(10, 10), functor); + }); + + auto bundleObject = cl::sycl::build(bundle, bundle.get_devices()); + auto kernelID = cl::sycl::get_kernel_id(); + auto kernel = bundleObject.get_kernel(kernelID); +} + +int main() { + std::vector devices = device::get_devices(info::device_type::gpu); + sycl::context context(devices); + sycl::queue queue(context, devices[0]); + assert(devices.size() == 2); + test(queue, empty_functor{}); +} \ No newline at end of file From 1a40f891841c2a086bcc5e30d7fec18632699cae Mon Sep 17 00:00:00 2001 From: mdimakov Date: Wed, 1 Dec 2021 13:40:59 +0300 Subject: [PATCH 2/4] Clang-format fix --- SYCL/Basic/kernel_program_cache.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/SYCL/Basic/kernel_program_cache.cpp b/SYCL/Basic/kernel_program_cache.cpp index 3eeacf3553..a68424db32 100644 --- a/SYCL/Basic/kernel_program_cache.cpp +++ b/SYCL/Basic/kernel_program_cache.cpp @@ -16,13 +16,14 @@ using namespace sycl; class empty_functor { - public: +public: void operator()(cl::sycl::nd_item<1> item) const {} }; template void test(cl::sycl::queue &queue, Functor functor) { - auto bundle = cl::sycl::get_kernel_bundle(queue.get_context()); + auto bundle = cl::sycl::get_kernel_bundle( + queue.get_context()); queue.submit([&](cl::sycl::handler &cgh) { cgh.parallel_for(cl::sycl::nd_range<1>(10, 10), functor); @@ -39,4 +40,4 @@ int main() { sycl::queue queue(context, devices[0]); assert(devices.size() == 2); test(queue, empty_functor{}); -} \ No newline at end of file +} From b245f13bf51cf73346d6189630d4c1e08d23ee9a Mon Sep 17 00:00:00 2001 From: mdimakov Date: Wed, 1 Dec 2021 14:19:02 +0300 Subject: [PATCH 3/4] Modified RUN line --- SYCL/Basic/kernel_program_cache.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/SYCL/Basic/kernel_program_cache.cpp b/SYCL/Basic/kernel_program_cache.cpp index a68424db32..ecffa09248 100644 --- a/SYCL/Basic/kernel_program_cache.cpp +++ b/SYCL/Basic/kernel_program_cache.cpp @@ -1,8 +1,6 @@ // RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple %s -o %t.out -// RUN: env CreateMultipleRootDevices=2 NEOReadDebugKeys=1 \ -// RUN: SYCL_DEVICE_FILTER="level_zero:gpu" %t.out -// RUN: env CreateMultipleRootDevices=2 NEOReadDebugKeys=1 \ -// RUN: SYCL_DEVICE_FILTER="opencl:gpu" %t.out +// RUN: env CreateMultipleRootDevices=2 NEOReadDebugKeys=1 %GPU_RUN_PLACEHOLDER %t.out +// REQUIRES: (opencl || level_zero) && gpu //==---------- kernel_program_cache.cpp --- KernelProgramCache test --------==// // From 655e8b07f5180a812f635fbf3ff0423841303bd4 Mon Sep 17 00:00:00 2001 From: vladimirlaz Date: Fri, 3 Dec 2021 13:19:00 +0300 Subject: [PATCH 4/4] Update SYCL/Basic/kernel_program_cache.cpp --- SYCL/Basic/kernel_program_cache.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SYCL/Basic/kernel_program_cache.cpp b/SYCL/Basic/kernel_program_cache.cpp index ecffa09248..5920ec344e 100644 --- a/SYCL/Basic/kernel_program_cache.cpp +++ b/SYCL/Basic/kernel_program_cache.cpp @@ -1,5 +1,5 @@ // RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple %s -o %t.out -// RUN: env CreateMultipleRootDevices=2 NEOReadDebugKeys=1 %GPU_RUN_PLACEHOLDER %t.out +// RUN: %GPU_RUN_PLACEHOLDER CreateMultipleRootDevices=2 NEOReadDebugKeys=1 %t.out // REQUIRES: (opencl || level_zero) && gpu //==---------- kernel_program_cache.cpp --- KernelProgramCache test --------==//