From 4fadd968fa12130524c8380f33fcfe25d4de79e5 Mon Sep 17 00:00:00 2001 From: DongHun Kwak Date: Wed, 13 Sep 2017 11:24:46 +0900 Subject: Imported Upstream version 1.65.0 Change-Id: Icf8400b375482cb11bcf77440a6934ba360d6ba4 Signed-off-by: DongHun Kwak --- boost/compute/system.hpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'boost/compute/system.hpp') diff --git a/boost/compute/system.hpp b/boost/compute/system.hpp index e6ed353d68..5f29893b9d 100644 --- a/boost/compute/system.hpp +++ b/boost/compute/system.hpp @@ -55,6 +55,10 @@ public: /// name of the platform (e.g. "NVIDIA CUDA") /// \li \c BOOST_COMPUTE_DEFAULT_VENDOR - /// name of the device vendor (e.g. "NVIDIA") + /// \li \c BOOST_COMPUTE_DEFAULT_ENFORCE - + /// If this is set to "1", then throw a no_device_found() exception + /// if any of the above environment variables is set, but a matching + /// device was not found. /// /// The default device is determined once on the first time this function /// is called. Calling this function multiple times will always result in @@ -220,6 +224,7 @@ private: const char *type = detail::getenv("BOOST_COMPUTE_DEFAULT_DEVICE_TYPE"); const char *platform = detail::getenv("BOOST_COMPUTE_DEFAULT_PLATFORM"); const char *vendor = detail::getenv("BOOST_COMPUTE_DEFAULT_VENDOR"); + const char *enforce = detail::getenv("BOOST_COMPUTE_DEFAULT_ENFORCE"); if(name || type || platform || vendor){ for(size_t i = 0; i < devices_.size(); i++){ @@ -243,6 +248,9 @@ private: return device; } + + if(enforce && enforce[0] == '1') + BOOST_THROW_EXCEPTION(no_device_found()); } // find the first gpu device -- cgit v1.2.3