2626/* *********************************************************************************/
2727
2828#include " test_common.hpp"
29+ #include < gtest/gtest.h>
2930
3031#define CL_HPP_MINIMUM_OPENCL_VERSION 120
3132#define CL_HPP_TARGET_OPENCL_VERSION 120
3738#include < thread>
3839#include < vector>
3940
40- TEST (opencl, basic_gpu ) {
41+ TEST (opencl, basic ) {
4142 std::vector<cl::Platform> platforms;
4243 cl::Platform::get (&platforms);
44+ if (platforms.empty ()) {
45+ GTEST_SKIP () << " No platforms found" ;
46+ }
4347 cl::Platform platform = platforms.front ();
4448
4549 std::vector<cl::Device> devices;
46- platform.getDevices (CL_DEVICE_TYPE_GPU, &devices);
50+ platform.getDevices (CL_DEVICE_TYPE_ALL, &devices);
51+ if (devices.empty ()) {
52+ GTEST_SKIP () << " No devices found" ;
53+ }
4754 cl::Device device = devices.front ();
4855
4956 cl::Context context (device);
@@ -87,10 +94,16 @@ TEST(opencl, basic_gpu) {
8794TEST (opencl, bitonic_sort_local) {
8895 std::vector<cl::Platform> platforms;
8996 cl::Platform::get (&platforms);
97+ if (platforms.empty ()) {
98+ GTEST_SKIP () << " No platforms found" ;
99+ }
90100 cl::Platform platform = platforms.front ();
91101
92102 std::vector<cl::Device> devices;
93- platform.getDevices (CL_DEVICE_TYPE_GPU, &devices);
103+ platform.getDevices (CL_DEVICE_TYPE_ALL, &devices);
104+ if (devices.empty ()) {
105+ GTEST_SKIP () << " No devices found" ;
106+ }
94107 cl::Device device = devices.front ();
95108
96109 cl::Context context (device);
@@ -137,10 +150,16 @@ TEST(opencl, bitonic_sort_local) {
137150TEST (opencl, bitonic_sort_global) {
138151 std::vector<cl::Platform> platforms;
139152 cl::Platform::get (&platforms);
153+ if (platforms.empty ()) {
154+ GTEST_SKIP () << " No platforms found" ;
155+ }
140156 cl::Platform platform = platforms.front ();
141157
142158 std::vector<cl::Device> devices;
143- platform.getDevices (CL_DEVICE_TYPE_GPU, &devices);
159+ platform.getDevices (CL_DEVICE_TYPE_ALL, &devices);
160+ if (devices.empty ()) {
161+ GTEST_SKIP () << " No devices found" ;
162+ }
144163 cl::Device device = devices.front ();
145164
146165 cl::Context context (device);
@@ -188,10 +207,16 @@ TEST(opencl, bitonic_sort_global) {
188207TEST (opencl, custom_value) {
189208 std::vector<cl::Platform> platforms;
190209 cl::Platform::get (&platforms);
210+ if (platforms.empty ()) {
211+ GTEST_SKIP () << " No platforms found" ;
212+ }
191213 cl::Platform platform = platforms.front ();
192214
193215 std::vector<cl::Device> devices;
194- platform.getDevices (CL_DEVICE_TYPE_GPU, &devices);
216+ platform.getDevices (CL_DEVICE_TYPE_ALL, &devices);
217+ if (devices.empty ()) {
218+ GTEST_SKIP () << " No devices found" ;
219+ }
195220 cl::Device device = devices.front ();
196221
197222 cl::Context context (device);
@@ -236,10 +261,16 @@ TEST(opencl, custom_value) {
236261TEST (opencl, reduce_by_key_small) {
237262 std::vector<cl::Platform> platforms;
238263 cl::Platform::get (&platforms);
264+ if (platforms.empty ()) {
265+ GTEST_SKIP () << " No platforms found" ;
266+ }
239267 cl::Platform platform = platforms.front ();
240268
241269 std::vector<cl::Device> devices;
242- platform.getDevices (CL_DEVICE_TYPE_GPU, &devices);
270+ platform.getDevices (CL_DEVICE_TYPE_ALL, &devices);
271+ if (devices.empty ()) {
272+ GTEST_SKIP () << " No devices found" ;
273+ }
243274 cl::Device device = devices.front ();
244275
245276 cl::Context context (device);
@@ -367,4 +398,4 @@ TEST(opencl, reduce_by_key_small) {
367398 }
368399}
369400
370- SPLA_GTEST_MAIN
401+ SPLA_GTEST_MAIN
0 commit comments