Khanattila / KNLMeansCL

An optimized OpenCL implementation of the Non-local means de-noising algorithm
GNU General Public License v3.0
107 stars 22 forks source link

OpenCL error message with GTX560 unter linux #13

Closed monarc99 closed 9 years ago

monarc99 commented 9 years ago

from forum: It is not really necessary that the device is OpenCL 1.2, just the platform is required. NVIDIA simply has no suitable drivers for GT/GTX 500 series.

I have a GT560Ti with driver 355.11 under linux. So this error message means, the driver is too old?

Error in OpenCL compiler

Build Options

-cl-single-precision-constant -cl-denorms-are-zero -cl-fast-relaxed-math -Werror -D H_BLOCK_X=32 -D H_BLOCK_Y=4 -D V_BLOCK_X=32 -D V_BLOCK_Y=4 -D NLMK_TCLIP=73 -D NLMK_S=4 -D NLMK_WMODE=1 -D NLMK_D=1 -D NLMK_H2_INV_NORM=13.214449 -D NLMK_BIT_SHIFT=0

Build Log

:201:24: error: no matching function for call to 'read_imagef' const float u1 = read_imagef(U1, smp, p ).x; ^~~~~~~~~~~ cl_kernel.h:18353:25: note: candidate function not viable: no known conversion from '**attribute**((address_space(16776963))) image2d_array_t' to '**attribute**((address_space(16776963))) image3d_t' for 1st argument float4 **OVERLOADABLE** read_imagef(image3d_t image, sampler_t sampler, int4 coord); ^ cl_kernel.h:18351:25: note: candidate function not viable: no known conversion from '**attribute**((address_space(16776963))) image2d_array_t' to '**attribute**((address_space(16776963))) image2d_t' for 1st argument float4 **OVERLOADABLE** read_imagef(image2d_t image, sampler_t sampler, int2 coord); ^ cl_kernel.h:18352:25: note: candidate function not viable: no known conversion from '**attribute**((address_space(16776963))) image2d_array_t' to '**attribute**((address_space(16776963))) image2d_t' for 1st argument float4 **OVERLOADABLE** read_imagef(image2d_t image, sampler_t sampler, float2 coord); ^ cl_kernel.h:18354:25: note: candidate function not viable: no known conversion from '**attribute**((address_space(16776963))) image2d_array_t' to '**attribute**((address_space(16776963))) image3d_t' for 1st argument I ask because: At the end of the year they want to release the new Vulkan/SPIR-V driver - maybe even for the old 500 series. So i hope they update the opencl part too and i want to be sure, what this error message means.
Khanattila commented 9 years ago

OpenCL 1.2 introduced 'image2d_array_t'. I use it when 'd' > 0. How you see your driver does not recognize it and therefore error. It is an error due to the driver not compatible.

In version 0.7.3 there will be messages more understandable.