From 0919d95aa40befee37e828814bfc9b56b46eafb3 Mon Sep 17 00:00:00 2001 From: Tom Deakin Date: Mon, 11 May 2020 17:16:47 +0100 Subject: [PATCH] [SYCL] Use SYCL runtime device discovery Fixes #63 --- CHANGELOG.md | 1 + SYCLStream.cpp | 11 ++--------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b350b45..70f4460 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ All notable changes to this project will be documented in this file. - 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. +- Use built in SYCL runtime device discovery. ### 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 7f51b75..8960530 100644 --- a/SYCLStream.cpp +++ b/SYCLStream.cpp @@ -228,15 +228,8 @@ void SYCLStream::read_arrays(std::vector& a, std::vector& b, std::vecto void getDeviceList(void) { - // Get list of platforms - std::vector platforms = platform::get_platforms(); - - // Enumerate devices - for (unsigned i = 0; i < platforms.size(); i++) - { - std::vector plat_devices = platforms[i].get_devices(); - devices.insert(devices.end(), plat_devices.begin(), plat_devices.end()); - } + // Ask SYCL runtime for all devices in system + devices = cl::sycl::device::get_devices(); cached = true; }