Liberazione di PoCL 3.1 cù implementazione indipendente di u standard OpenCL

Una versione di u prugettu PoCL 3.1 (Portable Computing Language OpenCL) hè statu presentatu, chì sviluppa una implementazione di u standard OpenCL chì hè indipendente da i fabricatori di acceleratori grafici è permette l'usu di diversi backends per eseguisce kernels OpenCL nantu à diversi tipi di grafica è centrale. processori. U codice di u prugettu hè distribuitu sottu a licenza MIT. Supporta u travagliu nantu à e piattaforme X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU è vari ASIP (Application-Specific Instruction-Set Processor) è TTA (Transport Triggered Architecture) processori cù architettura VLIW.

L'implementazione di u compilatore di u kernel OpenCL hè custruitu nantu à a basa di LLVM, è Clang hè utilizatu cum'è front end per OpenCL C. Per assicurà a portabilità è a prestazione propria, u compilatore di u kernel OpenCL pò generà funzioni di cumminazione chì ponu utilizà diverse risorse hardware per parallelizà l'esecuzione di codice, cum'è VLIW, superscalar, SIMD, SIMT, multi-core è multi-threading. Ci hè un supportu per i drivers ICD (Driver Client Installable). Ci sò backends per supportà l'operazione via CPU, ASIP (TCE / TTA), GPU basatu annantu à l'architettura HSA è NVIDIA GPU (via libcuda).

In a nova versione:

  • Supportu aghjuntu per 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