Rilis PoCL 5.0 kanthi implementasine bebas saka standar OpenCL

Опубликован релиз проекта PoCL 5.0 (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.

Implementasine kompiler kernel OpenCL dibangun kanthi basis LLVM, lan Clang digunakake minangka mburi ngarep kanggo OpenCL C. Kanggo njamin portabilitas lan kinerja sing tepat, kompiler kernel OpenCL bisa ngasilake fungsi kombinasi sing bisa nggunakake macem-macem sumber daya hardware kanggo parallelize eksekusi kode, kayata VLIW, superscalar, SIMD, SIMT, multi-inti lan multi-threading. Ana dhukungan kanggo driver ICD (Installable Client Driver). Ana backends kanggo ndhukung operasi liwat CPU, ASIP (TCE / TTA), GPU adhedhasar arsitektur HSA lan NVIDIA GPU (liwat libcuda).

Ing versi anyar:

  • Реализован новый бэкенд «Remote», предназначенный для организации распределённых вычислений через вынос обработки команд OpenCL на другие хосты в сети, на которых запущен фоновый процесс pocld.
  • В драйвере CUDA реализованы дополнительные возможности и расширения OpenCL 3.0, такие как атомарные операции, переменные с ограниченной областью видимости, подгруппы intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier и sub_group_ballot.
  • Улучшена поддержка CPU на базе архитектуры RISC-V. Работа PoCL протестирована на плате Starfive VisionFive 2 с загруженным окружением Ubuntu 23.10 с LLVM 17 и GCC 13.2.
  • Реализовано расширение cl_ext_float_atomics с поддержкой FP32 и FP64.
  • Реализация расширения cl_khr_command_buffer обновлена до версии 0.9.4.
  • Предложен экспериментальный бэкенд AlmaIF для FPGA.
  • Удалена незавершённая поддержка промежуточного представления шейдеров SPIR 1.x/2.0. В качестве рекомендованного промежуточного языка шейдеров заявлен SPIR-V.
  • Добавлена поддержка Clang/LLVM 17.0. Объявлена устаревшей поддержка Clang/LLVM 10-13.

Source: opennet.ru

Add a comment