From 17b9fec65205808e6cb1ccefe453aec6b18eb542 Mon Sep 17 00:00:00 2001 From: Bernd Machenschalk <bernd.machenschalk@aei.mpg.de> Date: Wed, 10 Aug 2022 13:39:24 +0000 Subject: [PATCH] allow to disable "-cl-mad-enable" in OpenCL compile options by setting CLFFT_NO_MAD_ENABLE macro --- src/fft_setup.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/fft_setup.cpp b/src/fft_setup.cpp index b014ea7..7f6de17 100644 --- a/src/fft_setup.cpp +++ b/src/fft_setup.cpp @@ -72,6 +72,12 @@ #include <cmath> #include <limits.h> +#if CLFFT_NO_MAD_ENABLE +#define CLFFT_COMPILE_OPTIONS "-cl-single-precision-constant" +#else +#define CLFFT_COMPILE_OPTIONS "-cl-mad-enable -cl-single-precision-constant" +#endif + using namespace std; extern void getKernelWorkDimensions(cl_fft_plan *plan, cl_fft_kernel_info *kernelInfo, cl_int *batchSize, size_t *gWorkItems, size_t *lWorkItems); @@ -434,7 +440,7 @@ patch_kernel_source: err = clGetDeviceInfo(devices[i], CL_DEVICE_TYPE, sizeof(device_type), &device_type, NULL); ERR_MACRO(err); - err = clBuildProgram(plan->program, 1, &devices[i], "-cl-mad-enable -cl-single-precision-constant", NULL, NULL); + err = clBuildProgram(plan->program, 1, &devices[i], CLFFT_COMPILE_OPTIONS, NULL, NULL); if (err != CL_SUCCESS) { char *build_log; -- GitLab