projectrelease (Portable Computing Language OpenCL), die een implementatie van de OpenCL-standaard ontwikkelt die onafhankelijk is van fabrikanten van grafische versnellers en verschillende backends mogelijk maakt voor het uitvoeren van OpenCL-kernen op verschillende soorten grafische en centrale processors. De code van het project is onder een MIT-licentie. Werking wordt ondersteund op platforms X86_64, MIPS32, ARM v7, AMD HSA APU en verschillende gespecialiseerde TTA-processors () met architectuur .
De implementatie van de OpenCL-kerncompiler is gebouwd op basis van LLVM, met Clang als frontend voor OpenCL C. Om de nodige draagbaarheid en prestaties te waarborgen, kan de compiler van OpenCL-kernen gecombineerde functies genereren die verschillende hardwarebronnen kunnen gebruiken voor de parallelisering van de code-uitvoering, zoals VLIW, superscalariteit, SIMD, SIMT, multi-core en multithreading. Ondersteuning voor ICD-drivers is aanwezig.
(Installable Client Driver). Er zijn backends aanwezig voor het verzekeren van functionaliteit via CPU, ASIP (TCE/TTA), GPU op basis van de architectuur en NVIDIA GPUs (CUDA).
In :
- Ondersteuning toegevoegd voor . Ondersteuning voor LLVM-versies ouder dan 6.0 is stopgezet.
- De implementatie van tussentijdse representaties van code op basis van CPU is verbeterd en (gebruikt in de Vulkan API), die kunnen worden toegepast voor zowel de representatie van shaders voor graphics als voor parallelle berekeningen;
- Een pocl-accel driver is toegevoegd met een voorbeeldinfrastructuur voor de ondersteuning van hardware-accelerators OpenCL 1.2, die een geheugenreflecterend (mmap) beheersinterface implementeren;
- De mogelijkheid om pocl-installaties te bouwen die niet aan mappen zijn gekoppeld (relocatable) is toegevoegd.
Bron: opennet.ru
