diff --git a/example/main.cpp b/example/main.cpp index b385dc2fabb22361a02ae8557e89d6e99a2abde1..53b9757259f0b386a65d2900399985e212d0281a 100644 --- a/example/main.cpp +++ b/example/main.cpp @@ -719,7 +719,7 @@ cl_device_type getGlobalDeviceType() return CL_DEVICE_TYPE_DEFAULT; } // default - return CL_DEVICE_TYPE_GPU; + return CL_DEVICE_TYPE_ALL; } void @@ -762,12 +762,6 @@ int main (int argc, char * const argv[]) { unsigned int num_devices; cl_device_type device_type = getGlobalDeviceType(); - if(device_type != CL_DEVICE_TYPE_GPU) - { - log_info("Test only supported on DEVICE_TYPE_GPU\n"); - test_finish(); - exit(0); - } cl_uint numPlatforms; cl_platform_id platform = NULL; diff --git a/src/fft_setup.cpp b/src/fft_setup.cpp index f6f2bbf9f72c974792ee7bac539726fb0d6966cb..942e852e92ece8ca78ac9e1ba95c90d7be2e9c73 100644 --- a/src/fft_setup.cpp +++ b/src/fft_setup.cpp @@ -364,7 +364,6 @@ clFFT_CreatePlanAdv( cl_context context, clFFT_Dim3 n, clFFT_Dimension dim, clFF cl_fft_plan *plan = NULL; ostringstream kString; int num_devices; - int gpu_found = 0; cl_device_id devices[16]; size_t ret_size; cl_device_type device_type; @@ -435,39 +434,32 @@ patch_kernel_source: err = clGetDeviceInfo(devices[i], CL_DEVICE_TYPE, sizeof(device_type), &device_type, NULL); ERR_MACRO(err); - if(device_type == CL_DEVICE_TYPE_GPU) + err = clBuildProgram(plan->program, 1, &devices[i], "-cl-mad-enable -cl-single-precision-constant", NULL, NULL); + if (err != CL_SUCCESS) { - gpu_found = 1; - err = clBuildProgram(plan->program, 1, &devices[i], "-cl-mad-enable -cl-single-precision-constant", NULL, NULL); - if (err != CL_SUCCESS) - { - char *build_log; - char devicename[200]; - size_t log_size; + char *build_log; + char devicename[200]; + size_t log_size; - err = clGetProgramBuildInfo(plan->program, devices[i], CL_PROGRAM_BUILD_LOG, 0, NULL, &log_size); - ERR_MACRO(err); + err = clGetProgramBuildInfo(plan->program, devices[i], CL_PROGRAM_BUILD_LOG, 0, NULL, &log_size); + ERR_MACRO(err); - build_log = (char *) malloc(log_size + 1); + build_log = (char *) malloc(log_size + 1); - err = clGetProgramBuildInfo(plan->program, devices[i], CL_PROGRAM_BUILD_LOG, log_size, build_log, NULL); - ERR_MACRO(err); + err = clGetProgramBuildInfo(plan->program, devices[i], CL_PROGRAM_BUILD_LOG, log_size, build_log, NULL); + ERR_MACRO(err); - err = clGetDeviceInfo(devices[i], CL_DEVICE_NAME, sizeof(devicename), devicename, NULL); - ERR_MACRO(err); + err = clGetDeviceInfo(devices[i], CL_DEVICE_NAME, sizeof(devicename), devicename, NULL); + ERR_MACRO(err); - fprintf(stdout, "FFT program build log on device %s\n", devicename); - fprintf(stdout, "%s\n", build_log); - free(build_log); + fprintf(stdout, "FFT program build log on device %s\n", devicename); + fprintf(stdout, "%s\n", build_log); + free(build_log); - ERR_MACRO(err); - } + ERR_MACRO(err); } } - if(!gpu_found) - ERR_MACRO(CL_INVALID_CONTEXT); - err = createKernelList(plan); ERR_MACRO(err);