'n Vrystelling van die PoCL 3.1 (Portable Computing Language OpenCL)-projek is aangebied, wat 'n implementering van die OpenCL-standaard ontwikkel wat onafhanklik is van grafiese versnellervervaardigers en die gebruik van verskeie backends toelaat vir die uitvoering van OpenCL-pitte op verskillende tipes grafika en sentrale verwerkers. Die projekkode word onder die MIT-lisensie versprei. Ondersteun werk op platforms X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU en verskeie gespesialiseerde ASIP (Application-Specific Instruction-set Processor) en TTA (Transport Triggered Architecture) verwerkers met VLIW-argitektuur.
Die implementering van die OpenCL-kernsamesteller is gebou op die basis van LLVM, en Clang word gebruik as die voorkant vir OpenCL C. Om behoorlike oordraagbaarheid en werkverrigting te verseker, kan die OpenCL-kernsamesteller kombinasiefunksies genereer wat verskeie hardewarehulpbronne kan gebruik om kode-uitvoering te paralleliseer, soos VLIW, superskalaar, SIMD, SIMT, multi-kern en multi-threading. Daar is ondersteuning vir ICD-bestuurders (Installeerbare kliëntbestuurder). Daar is backends om werking te ondersteun via CPU, ASIP (TCE/TTA), GPU gebaseer op HSA-argitektuur en NVIDIA GPU (via libcuda).
In die nuwe weergawe:
- Bygevoeg ondersteuning vir Clang/LLVM 15.0.
- Aansienlik verbeterde SPIR-V-skadu-intermediêre voorstellingondersteuning vir SVE- en CUDA-bestuurders.
- Die drywer vir gespesialiseerde hardeware (CL_DEVICE_TYPE_ACCELERATOR) en pasgemaakte toestelle (CL_DEVICE_TYPE_CUSTOM) wat nie aanlyn samestelling ondersteun nie, is aansienlik herontwerp. Die accel en ttasim drywers is saamgevoeg in die nuwe AlmaIF drywer.
- Werk gaan voort met die bestuurder vir die Vulkan-grafiese API.
- 'n Basiese implementering van die cl_khr_command_buffer-uitbreiding word voorgestel, wat jou toelaat om 'n reeks OpenCL-opdragte vir uitvoering in een oproep te skryf.
Bron: opennet.ru