Release fan PoCL 3.1 mei ûnôfhinklike ymplemintaasje fan de OpenCL standert

De frijlitting fan it PoCL 3.1-projekt (Portable Computing Language OpenCL) wurdt presintearre, dy't in ymplemintaasje fan 'e OpenCL-standert ûntwikkelet dy't ûnôfhinklik is fan fabrikanten fan grafyske acceleratoren en it brûken fan ferskate backends foar it útfieren fan OpenCL-kernels op ferskate soarten grafiken en sintrale processors . De projektkoade wurdt ferspraat ûnder de MIT-lisinsje. Unterstützt wurk op platfoarms X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU en ferskate spesjalisearre ASIP (Applikaasje-spesifike ynstruksje-set-prosessor) en TTA (Transport Triggered Architecture) processors mei VLIW-arsjitektuer.

De ymplemintaasje fan 'e OpenCL-kernel-kompiler is boud op basis fan LLVM, en Clang wurdt brûkt as front-end foar OpenCL C. Om goede portabiliteit en prestaasjes te garandearjen, kin de OpenCL-kernelkompiler kombinaasjefunksjes generearje dy't ferskate hardware-boarnen brûke kinne om koade-útfiering te parallelisearjen, lykas VLIW, superskalar, SIMD, SIMT, multi-core en multi-threading. D'r is stipe foar ICD-bestjoerders (ynstalleare client-bestjoerder). D'r binne backends om operaasje te stypjen fia CPU, ASIP (TCE / TTA), GPU basearre op HSA-arsjitektuer en NVIDIA GPU (fia libcuda).

Yn de nije ferzje:

  • Stipe tafoege foar 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 для их выполнения одним вызовом.

Boarne: opennet.ru

Add a comment