Faʻasaʻolotoina o le PoCL 5.0 faʻatasi ai ma le faʻatinoina tutoʻatasi o le OpenCL standard

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

O le faʻatinoga o le OpenCL kernel compiler e fausia i luga o le faʻavae o le LLVM, ma o le Clang e faʻaaogaina e avea ma pito i luma mo OpenCL C. Ina ia faʻamautinoa lelei le faʻaogaina ma le faʻatinoga, e mafai e le OpenCL kernel compiler ona faʻatupuina galuega tuʻufaʻatasia e mafai ona faʻaogaina punaoa eseese meafaigaluega e faʻatusatusa ai le faʻatinoina o tulafono, e pei ole VLIW, superscalar, SIMD, SIMT, multi-core ma multi-threading. E iai le lagolago mo avetaavale ICD (Installable Client Driver). O loʻo i ai tua e lagolago ai le faʻaogaina e ala i le PPU, ASIP (TCE/TTA), GPU faʻavae ile HSA architecture ma le NVIDIA GPU (e ala i le libcuda).

I le lomiga fou:

  • Реализован новый бэкенд «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.

puna: opennet.ru

Faaopoopo i ai se faamatalaga