From 1d6da069b3e5ac6054e2b5f6ec77061f402dee75 Mon Sep 17 00:00:00 2001 From: Tom Deakin Date: Mon, 11 May 2020 17:13:36 +0100 Subject: [PATCH] [SYCL] Pass explicit async_handler to queue constructor --- CHANGELOG.md | 1 + SYCLStream.cpp | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a3a36d..b350b45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ All notable changes to this project will be documented in this file. ### Changed - Use cl::sycl::id parameters instead of cl::sycl::item. - Update local copy of OpenCL C++ header file. +- Ensure correct SYCL queue constructor with explicit async_handler. ### Removed - Pre-building of kernels in SYCL version to ensure compatibility with SYCL 1.2.1. diff --git a/SYCLStream.cpp b/SYCLStream.cpp index 76b916a..7f51b75 100644 --- a/SYCLStream.cpp +++ b/SYCLStream.cpp @@ -45,7 +45,7 @@ SYCLStream::SYCLStream(const unsigned int ARRAY_SIZE, const int device_index) std::cout << "Driver: " << getDeviceDriver(device_index) << std::endl; std::cout << "Reduction kernel config: " << dot_num_groups << " groups of size " << dot_wgsize << std::endl; - queue = new cl::sycl::queue(dev, [&](cl::sycl::exception_list l) + queue = new cl::sycl::queue(dev, cl::sycl::async_handler{[&](cl::sycl::exception_list l) { bool error = false; for(auto e: l) @@ -64,7 +64,7 @@ SYCLStream::SYCLStream(const unsigned int ARRAY_SIZE, const int device_index) { throw std::runtime_error("SYCL errors detected"); } - }); + }}); // Create buffers d_a = new buffer(array_size);