Release van PoCL 3.0 met onafhankelijke implementatie van de OpenCL 3.0-standaard

Er is een release gepresenteerd van het PoCL 3.0-project (Portable Computing Language OpenCL), dat een implementatie van de OpenCL-standaard ontwikkelt die onafhankelijk is van fabrikanten van grafische versnellers en het gebruik van verschillende backends mogelijk maakt voor het uitvoeren van OpenCL-kernels op verschillende soorten grafische afbeeldingen en centrale verwerkers. De projectcode wordt gedistribueerd onder de MIT-licentie. Ondersteunt werk op platforms X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU en diverse gespecialiseerde ASIP (Application-Specific Instruction-set Processor) en TTA (Transport Triggered Architecture) processors met VLIW-architectuur.

De implementatie van de OpenCL-kernelcompiler is gebouwd op basis van LLVM en Clang wordt gebruikt als front-end voor OpenCL C. Om goede draagbaarheid en prestaties te garanderen, kan de OpenCL-kernelcompiler combinatiefuncties genereren die verschillende hardwarebronnen kunnen gebruiken om de uitvoering van code te parallelliseren, zoals VLIW, superscalair, SIMD, SIMT, multi-core en multi-threading. Er is ondersteuning voor ICD-stuurprogramma's (Installable Client Driver). Er zijn backends ter ondersteuning van de werking via CPU, ASIP (TCE/TTA), GPU op basis van HSA-architectuur en NVIDIA GPU (via liccuda).

In de nieuwe versie:

  • De minimale set functies die vereist is om de OpenCL 3.0-specificatie te ondersteunen, is geïmplementeerd. Ondersteuning voor OpenCL 3.0 is momenteel alleen beschikbaar op CPU-gebaseerde backends met LLVM 14 (andere backends en oudere versies van LLVM bieden ondersteuning voor OpenCL 1.2).
  • Ondersteuning toegevoegd voor Clang/LLVM 14.
  • Verbeterde tracering en visualisatie.
  • Ondersteuning toegevoegd voor het genereren van gespecialiseerde groepen functies en het opnemen ervan in uitvoerbare bestanden met OpenCL-kernels.

Bron: opennet.ru

Voeg een reactie