2016-06-06 18 views
-1

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 

Antwort

0

Im Jahr 2015 und 2016 NVIDIA haben verstärkt ihre OpenCL Unterstützung auf. Moderne NVIDIA-Hardware unterstützt OpenCL 1.2, und bei GTC 2016 haben sie angekündigt, dass später in diesem Jahr Teile von OpenCL 2.0 erscheinen werden (nicht alles, nur ein paar Dinge). Innerhalb des letzten Jahres hat sich ihre OpenCL-Treiberleistung deutlich verbessert; Ich habe Verbesserungen wie 1.4x in Profiling-Tests gemessen.

+0

"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