Am running Fedora 24 x86_64 w/ GeForce gtx 750 Ti. For the last couple of weeks, everything seemed fine. clGetPlatformIDs was discovering 1 platform, and it contained my GPU. However, today, there are two platforms. The first one is the one I am used to, while the 2nd platform is invalid when I use clPlatformGetInfo. Curiously, clinfo seems to have no problem describing both platforms:
> clinfo
Number of platforms 2
Platform Name NVIDIA CUDA
Platform Vendor NVIDIA Corporation
Platform Version OpenCL 1.2 CUDA 8.0.0
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64 cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_copy_opts
Platform Extensions function suffix NV
Platform Name Clover
Platform Vendor Mesa
Platform Version OpenCL 1.1 Mesa 12.0.1
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_icd
Platform Extensions function suffix MESA
Any ideas why things have changed for me? I suspect this is also affecting the compute results of running kernels on my GPU, even when I make sure to use the first platform. On my link lines, I use
/usr/lib64/libnvidia-opencl.so.1 -lOpenCL
to make sure I pick up the nvidia symbols, if they are there. For example, clGetPlatformIDs is not in the nvidia library.