Izdanje PoCL 1.3, nezavisne implementacije OpenCL standarda

Dostupno je izdanje PoCL 1.3 projekta (Portable Computing Language OpenCL) koji razvija implementaciju OpenCL standarda koji je nezavisan od proizvođača grafičkih akceleratora i omogućava korištenje različitih pozadinskih programa za izvršavanje OpenCL kernela na različitim tipovima grafike i centralnih procesora . Šifra projekta se distribuira pod MIT licencom. Podržava rad na X86_64, MIPS32, ARM v7, AMD HSA APU platformama i raznim specijalizovanim TTA (Transport Triggered Architecture) procesorima sa VLIW arhitekturom.

Implementacija kompajlera OpenCL kernela izgrađena je na bazi LLVM-a, a Clang se koristi kao prednji kraj za OpenCL C. Da bi osigurao odgovarajuću prenosivost i performanse, kompajler jezgre OpenCL može generirati funkcije kombinacije koje mogu koristiti različite hardverske resurse za paraleliziranje izvršavanja koda, kao što su VLIW, superskalar, SIMD, SIMT, višejezgarni i multi-threading. Dostupna podrška za ICD drajver
(Upravljački program za klijenta koji se može instalirati). Postoje backendovi koji podržavaju rad preko CPU-a, ASIP-a (TCE/TTA), GPU-a zasnovanog na HSA arhitekturi i NVIDIA GPU-a (CUDA).

Nova verzija dodaje podršku za LLVM/Clang 8.0. Pruža podršku za ICD (Installable Client Driver) na macOS platformi. Implementirana mogućnost izgradnje pocl-a bez backend drajvera za CPU. Za HSA (heterogenu arhitekturu sistema), obezbeđena je početna podrška za kompajliranje ISA-a na vrhu HSA runtimea. Baza koda je očišćena, uključujući Vecmathlib biblioteku je uklonjena i podrška za starije verzije LLVM-a (manje od 6.0) je zaustavljena.

izvor: opennet.ru

Dodajte komentar