Starting April 2015, nVIDIA drivers report that OpenCL 1.2 is supported in their GPUs (at least on Kepler and Maxwell).
I have not seriously used OpenCL on nVIDIA GPUs yet (just toyed with it a bit). I remember people reporting poor OpenCL support, e.g. no support for events; no support for providing sources in SPIR/SPIR-V; and so on.
What has actually improved w.r.t. OpenCL support? And what are the significant parts missing that are actually supported in CUDA (in some alternate form)?
PS - Here are the OpenCL 1.2 extensions listed with CUDA 8.0 for my Kepler/Maxwell cards:
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