Ab April 2015 melden nVIDIA-Treiber, dass OpenCL 1.2 in ihren Grafikprozessoren unterstützt wird (zumindest bei Kepler und Maxwell).Charakterisierung der OpenCL 1.2-Unterstützung in aktuellen nVIDIA-Treibern
Ich habe noch nicht ernsthaft OpenCL auf nVIDIA GPUs verwendet (nur ein bisschen damit gespielt). Ich erinnere mich an Leute reporting arme OpenCL Unterstützung, z.B. keine Unterstützung für Ereignisse; keine Unterstützung für die Bereitstellung von Quellen in SPIR/SPIR-V; und so weiter.
Was hat sich tatsächlich verbessert w.r.t. OpenCL-Unterstützung? Und was sind die wesentlichen Teile, die tatsächlich in CUDA (in einer alternativen Form) unterstützt werden?
PS - Hier sind die OpenCL 1.2 Erweiterungen mit CUDA aufgelistet 8.0 für meine Kepler/Maxwell Karten:
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
"Unterstützt OpenCL 1.2" sagt nicht viel, tatsächlich - es gibt eine große Anzahl von Erweiterungen, die nicht notwendig sind, um OpenCL 1.2 zu erfüllen, aber ohne dass Sie einen großen Teil der Funktionalität Ihrer GPU verlieren. Und wenn ich die Liste mit CUDA 8 anschaue, sehe ich immer noch nicht viele. – einpoklum