From e20aecd845fd8736e2a7905f17483c104dd9651e Mon Sep 17 00:00:00 2001 From: Tom Deakin Date: Mon, 17 May 2021 15:25:43 +0100 Subject: [PATCH] [SYCL 1.2.1] Add check for FP64 support Fixes #98 --- SYCLStream.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/SYCLStream.cpp b/SYCLStream.cpp index 49ad3ac..00c043f 100644 --- a/SYCLStream.cpp +++ b/SYCLStream.cpp @@ -28,6 +28,14 @@ SYCLStream::SYCLStream(const int ARRAY_SIZE, const int device_index) throw std::runtime_error("Invalid device index"); device dev = devices[device_index]; + // Check device can support FP64 if needed + if (sizeof(T) == sizeof(double)) + { + if (dev.get_info().size() == 0) { + throw std::runtime_error("Device does not support double precision, please use --float"); + } + } + // Determine sensible dot kernel NDRange configuration if (dev.is_cpu()) {