From 3462e61c162becfb38f46e684a70badc21eae604 Mon Sep 17 00:00:00 2001 From: Tom Deakin Date: Tue, 3 May 2016 11:05:21 +0100 Subject: [PATCH] Check device support float --- src/OCLStream.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/OCLStream.cpp b/src/OCLStream.cpp index 422b409..ed419b5 100644 --- a/src/OCLStream.cpp +++ b/src/OCLStream.cpp @@ -70,7 +70,12 @@ OCLStream::OCLStream(const unsigned int ARRAY_SIZE, const int device_index) // Create program cl::Program program(context, kernels); if (sizeof(T) == sizeof(double)) + { + // Check device can do double + if (!device.getInfo()) + throw std::runtime_error("Device does not support double precision, please use --float"); program.build("-DTYPE=double"); + } else if (sizeof(T) == sizeof(float)) program.build("-DTYPE=float");