Serbestberdana PoCL 3.1 bi pêkanîna serbixwe ya standard OpenCL

Представлен релиз проекта PoCL 3.1 (Portable Computing Language OpenCL), развивающего реализацию стандарта OpenCL, независимую от производителей графических ускорителей и позволяющую использовать различные бэкенды для выполнения OpenCL-ядер на разных типах графических и центральных процессоров. Код проекта распространяется под лицензией MIT. Поддерживается работа на платформах X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU и различных специализированных ASIP (Application-Specific Instruction-set Processor) и TTA-процессорах (Transport Triggered Architecture) c архитектурой VLIW.

Pêkanîna berhevkarê kernel OpenCL li ser bingeha LLVM-ê hatî çêkirin, û Clang wekî dawiya pêşîn ji bo OpenCL C tê bikar anîn. Ji bo ku veguheztin û performansa rast peyda bike, berhevkarê kernelê OpenCL dikare fonksiyonên hevberdanê biafirîne ku dikare çavkaniyên cûrbecûr hardware bikar bîne da ku pêkanîna kodê paralel bike, wek VLIW, superscalar, SIMD, SIMT, pir-core û pir-threading. Piştgiriyek ji bo ajokarên ICD (Ajokera Xerîdar a Sazkirî) heye. Piştgiran hene ku bi CPU, ASIP (TCE/TTA), GPU li ser bingeha mîmariya HSA û NVIDIA GPU (bi rêya libcuda) ve piştgirî dikin.

Di guhertoya nû de:

  • Добавлена поддержка Clang/LLVM 15.0.
  • Значительно улучшена поддержка промежуточного представления шейдеров SPIR-V для драйверов, использующих CPU и CUDA.
  • Значительно переработан драйвер для специализированного аппаратного обеспечения (CL_DEVICE_TYPE_ACCELERATOR) и собственных устройств (CL_DEVICE_TYPE_CUSTOM), не поддерживающих online-компиляцию. Драйверы accel и ttasim объединены в новый драйвер AlmaIF.
  • Продолжена работа над драйвером для графического API Vulkan.
  • Предложена базовая реализация расширения cl_khr_command_buffer, позволяющего записать последовательность команд OpenCL для их выполнения одним вызовом.

Source: opennet.ru

Add a comment