Frigivelse af PoCL 1.4, en uafhængig implementering af OpenCL-standarden

Ledig projektudgivelse PoCL 1.4 (Portable Computing Language OpenCL), som udvikler en implementering af OpenCL-standarden, der er uafhængig af producenter af grafikacceleratorer og tillader brugen af ​​forskellige backends til at udføre OpenCL-kerner på forskellige typer grafik og centrale processorer. Projektkode distribueret af under MIT-licens. Understøtter arbejde på X86_64, MIPS32, ARM v7, AMD HSA APU-platforme og forskellige specialiserede TTA-processorer (Transportudløst arkitektur) med arkitektur VLIW.

Implementeringen af ​​OpenCL-kernekompileren er bygget på basis af LLVM, og Clang bruges som frontend for OpenCL C. For at sikre korrekt portabilitet og ydeevne kan OpenCL-kernekompileren generere kombinationsfunktioner, der kan bruge forskellige hardwareressourcer til at parallelisere kodeudførelse, såsom VLIW, superscalar, SIMD, SIMT, multi-core og multi-threading. ICD driver support tilgængelig
(Installerbar klientdriver). Der er backends for at sikre drift via CPU, ASIP (TCE/TTA), GPU baseret arkitektur HSA og NVIDIA GPU (CUDA).

В ny version:

  • Tilføjet support LLVM/Clang 9.0. Support til LLVM-versioner ældre end 6.0 er afbrudt.
  • Forbedret CPU-baseret implementering af mellemkoderepræsentationer SPIR и SPIR-V (bruges i Vulkan API), som kan bruges både til at repræsentere shaders til grafik og til parallel computing;
  • Tilføjet pocl-accel-driver med et eksempel på infrastruktur for at understøtte OpenCL 1.2 hardwareacceleratorer, der implementerer en hukommelseskortet (mmap) kontrolgrænseflade;
  • Tilføjet muligheden for at bygge pocl-installationer, der ikke er bundet til mapper (kan flyttes).

Kilde: opennet.ru

Tilføj en kommentar