Izdanje PoCL 1.3, neovisne implementacije standarda OpenCL

Dostupno je izdanje projekta PoCL 1.3 (Portable Computing Language OpenCL), koji razvija implementaciju standarda OpenCL koja je neovisna o proizvođačima grafičkih akceleratora i omogućuje korištenje različitih pozadina za izvođenje OpenCL kernela na različitim vrstama grafičkih i središnjih procesora. . Kod projekta se distribuira pod licencom MIT-a. Podržava rad na X86_64, MIPS32, ARM v7, AMD HSA APU platformama i raznim specijaliziranim TTA (Transport Triggered Architecture) procesorima s VLIW arhitekturom.

Implementacija prevoditelja jezgre OpenCL izgrađena je na temelju LLVM-a, a Clang se koristi kao front end za OpenCL C. Kako bi se osigurala odgovarajuća prenosivost i izvedba, prevodilac jezgre OpenCL može generirati kombinirane funkcije koje mogu koristiti različite hardverske resurse za paraleliziranje izvođenja koda, kao što su VLIW, superskalar, SIMD, SIMT, multi-core i multi-threading. Dostupna podrška za ICD upravljačke programe
(Upravljački program klijenta koji se može instalirati). Postoje pozadine za podršku rada putem CPU-a, ASIP-a (TCE/TTA), GPU-a temeljenog 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 je mogućnost izrade pocl-a bez pozadinskih upravljačkih programa za CPU. Za HSA (heterogenu arhitekturu sustava) pruža se početna podrška za kompajliranje ISA-ova povrh HSA runtimea. Baza koda je očišćena, uključujući biblioteku Vecmathlib je uklonjena i podrška za starije verzije LLVM (manje od 6.0) je zaustavljena.

Izvor: opennet.ru

Dodajte komentar