Vydání PoCL 1.4, nezávislé implementace standardu OpenCL

Dostupný vydání projektu PoCL 1.4 (Portable Computing Language OpenCL), která vyvíjí implementaci standardu OpenCL, která je nezávislá na výrobcích grafických akcelerátorů a umožňuje použití různých backendů pro spouštění OpenCL jader na různých typech grafik a centrálních procesorů. Kód projektu distribuovány pod licencí MIT. Podporuje práci na platformách X86_64, MIPS32, ARM v7, AMD HSA APU a různých specializovaných procesorech TTA (Transport Triggered Architecture) s architekturou VLIW.

Implementace kompilátoru jádra OpenCL je postavena na bázi LLVM a Clang se používá jako frontend pro OpenCL C. Pro zajištění správné přenositelnosti a výkonu může kompilátor jádra OpenCL generovat kombinované funkce, které mohou využívat různé hardwarové prostředky k paralelizaci provádění kódu, jako je VLIW, superskalární, SIMD, SIMT, vícejádrové a vícevláknové. K dispozici je podpora ovladače ICD
(Instalovatelný klientský ovladač). Existují backendy pro zajištění provozu přes CPU, ASIP (TCE/TTA), architekturu založenou na GPU HSA a NVIDIA GPU (CUDA).

В nová verze:

  • Přidána podpora LLVM/Clang 9.0. Podpora pro verze LLVM starší než 6.0 byla ukončena.
  • Vylepšená implementace středních reprezentací kódu na bázi CPU SPIR и SPIR-V (používá se ve Vulkan API), které lze použít jak pro reprezentaci shaderů pro grafiku, tak pro paralelní výpočty;
  • Přidán ovladač pocl-accel s ukázkovou infrastrukturou pro podporu hardwarových akcelerátorů OpenCL 1.2, které implementují řídicí rozhraní mapované v paměti (mmap);
  • Přidána možnost vytvářet instalace pocl, které nejsou vázány na adresáře (přemístitelné).

Zdroj: opennet.ru

Přidat komentář