De Portable Computing Language”PoCL”begon als een open-source CPU-gebaseerde OpenCL-implementatie die in de loop der jaren een behoorlijk uitgebreide implementatie is geworden. Maar door gebruik te maken van de LLVM/Clang-compilerstack, is PoCL in de loop van de tijd uitgegroeid tot meer dan alleen een CPU-implementatie en ondersteunt het ook OpenCL-uitvoering op NVIDIA GPU’s, AMD HSA-compatibele GPU’s en meer. Het nieuwste dat nu met PoCL 4.0 komt, is ondersteuning voor Intel Level Zero-uitvoering voor het uitvoeren van deze OpenCL-implementatie via Intel Arc Graphics GPU’s.

Intel’s”Neo”Compute-Runtime-stack met Level Zero en OpenCL heeft de afgelopen maanden erg goed gewerkt op Arc Graphics. Daar heb je al een geweldige OpenCL 3.0-implementatie, dus de PoCL-vooruitzichten met Level Zero-ondersteuning zijn niet al te groot. Hoewel het uitvoeren van PoCL bovenop de Intel-computerstack met Level Zero interessant kan zijn voor foutopsporing of profilering voor het vergelijken van OpenCL-implementaties voor prestatiedoeleinden. Bovendien is de Level Zero API een open standaard, dus het is mogelijk dat er andere niet-Intel-implementaties komen die interessant kunnen zijn voor PoCL.

Hoe dan ook met de release van de PoCL 4.0-releasekandidaat op vrijdag is een van de belangrijkste veranderingen met deze nieuwe versie de introductie van een Level Zero API-stuurprogramma.

Ook belangrijk met PoCL 4.0-RC1 is dat de CPU-stuurprogramma’s ondersteuning krijgen voor programmabereikvariabelen, generieke AS, cl_khr_fp16 (LLVM 16+), cl_khr_subgroups en cl_intel_unified_shared_memory. Deze volgende versie voegt ook LLVM/Clang 16.0-compilercompatibiliteit toe en maakt meer verbeteringen aan de SPIR-V IR-ondersteuning in de CPU-en CUDA-back-enddrivers.

De PoCL 4.0 release candidate kan worden gedownload van GitHub. Degenen die meer willen weten over deze open-source, draagbare OpenCL-implementatie kunnen dat doen op PortableCL.org.

Categories: IT Info