Release av PoCL 1.4, en oberoende implementering av OpenCL-standarden

Tillgängliga projekt release PoCL 1.4 (Portable Computing Language OpenCL), som utvecklar en implementering av OpenCL-standarden som är oberoende av grafikacceleratortillverkare och tillåter användning av olika backends för exekvering av OpenCL-kärnor på olika typer av grafik och centrala processorer. Projektkod levererad av under MIT-licens. Stöder arbete på X86_64, MIPS32, ARM v7, AMD HSA APU-plattformar och olika specialiserade TTA-processorer (Transportutlöst arkitektur) med arkitektur VLIW.

Implementeringen av OpenCL-kärnkompilatorn är byggd på basis av LLVM, och Clang används som frontend för OpenCL C. För att säkerställa korrekt portabilitet och prestanda kan OpenCL-kärnkompilatorn generera kombinationsfunktioner som kan använda olika hårdvaruresurser för att parallellisera kodexekvering, såsom VLIW, superskalär, SIMD, SIMT, multi-core och multi-threading. ICD-drivrutinsstöd tillgängligt
(Installerbar klientdrivrutin). Det finns backends för att säkerställa drift via CPU, ASIP (TCE/TTA), GPU-baserad arkitektur HSA och NVIDIA GPU (CUDA).

В ny version:

  • Lagt till stöd LLVM/Clang 9.0. Stödet för LLVM-versioner äldre än 6.0 har upphört.
  • Förbättrad CPU-baserad implementering av mellanliggande kodrepresentationer SPIR и SPIR-V (används i Vulkan API), som kan användas både för att representera skuggningar för grafik och för parallell beräkning;
  • Lade till pocl-accel-drivrutin med en exempelinfrastruktur för att stödja OpenCL 1.2 hårdvaruacceleratorer som implementerar ett minnesmappat (mmap) kontrollgränssnitt;
  • Lade till möjligheten att bygga pocl-installationer som inte är bundna till kataloger (flyttbara).

Källa: opennet.ru

Lägg en kommentar