Pro Mesa byl vydán ovladač cluda, který umožňuje implementaci OpenCL nad NVIDIA CUDA.

Karol Herbst z Red Hatu, přispěvatelka do Mesa, ovladače Nouveau a open source OpenCL stacku, navrhla ovladač cluda pro zahrnutí do Mesa. Implementuje Gallium API nad CUDA API poskytovaným proprietárním ovladačem NVIDIA. Gallium se v Mesa používá k abstraktnímu vývoji ovladačů a implementuje standardní API ovladačů, která nejsou specifická pro jednotlivá hardwarová zařízení. cluda implementuje výpočetní rozhraní dostatečná k implementaci specifikace OpenCL nad CUDA.

Očekává se, že cluda vyřeší problémy s používáním OpenCL přes proprietární ovladač od NVIDIA. Použití dalšího frameworku umožňuje implementaci chybějících rozšíření OpenCL v stacku NVIDIA na základě proprietárního ovladače. cluda využívá pouze knihovnu libcuda.so, která je součástí ovladačů GPU od NVIDIA a není vázána na běhové prostředí CUDA. Ve své současné podobě implementace OpenCL založená na cluda podporuje operace s pamětí a umožňuje spouštění výpočetních jader.

Implementace OpenCL založená na knihovnách cluda a rusticl podporuje následující rozšíření OpenCL, která nejsou přítomna v implementaci NVIDIA:

  • cl_xr_extended_bit_ops
  • cl_xr_integer_tečka_součin
  • cl_xr_fp16
  • cl_khr_suggested_local_work_size
  • cl_khr_subgroup_extended_types
  • hlasovací lístek podskupiny cl_khr
  • cl_khr_subgroup_clustered_reduce
  • cl_khr_subgroup_non_uniform_arithmetic
  • cl_khr_subgroup_non_uniform_vote
  • cl_xr_subgroup_rotate
  • cl_xr_subgroup_shuffle
  • cl_khr_subgroup_shuffle_relative
  • cl_khr_il_program (Ano, to znamená podporu SPIR-V)
  • cl_xr_spirv_linkonce_odr
  • cl_khr_spirv_no_integer_wrap_decoration
  • cl_xr_spirv_queries
  • cl_xr_očekávat_předpokládat
  • cl_ext_immutable_memory_objects

Při měření výkonu v benchmarku LuxMark 3.1 dosáhla implementace OpenCL založená na Mesa, cluda a rusticl 57 702 bodů, zatímco implementace založená na stacku NVIDIA dosáhla 64 009 bodů. Pokles výkonu je vysvětlen režijními náklady na převod mezilehlé reprezentace Mesa NIR na CUDA PTX (Parallel Thread Execution). Mezi potenciální optimalizace, které by mohly snížit rozdíl ve výkonu, patří aktivnější využití vektorizace a JIT kompilace.


Pro Mesa byl vydán ovladač cluda, který umožňuje implementaci OpenCL nad NVIDIA CUDA.


Zdroj: opennet.ru
Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster