Vrystelling van PoCL 3.1 met onafhanklike implementering van die OpenCL-standaard

'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

Voeg 'n opmerking