Valve je otvorio novi shader kompajler za AMD GPU

Valve Company predložio Mesa mailing lista programera ima novi shader kompajler ACO za Vulkan vozača RADV, pozicioniran kao alternativa AMDGPU shader kompajleru koji se koristi u OpenGL i Vulkan drajverima RadeonSI i RADV za AMD grafičke čipove.
Nakon završetka testiranja i finalizacije funkcionalnosti, ACO se planira ponuditi za uključivanje u glavni sastav Mese.

Valveov predloženi kod ima za cilj da obezbedi generisanje koda što je moguće optimalnije za shadere aplikacija za igre, kao i postizanje veoma velike brzine kompilacije. Mesin kompajler shadera koristi LLVM komponente, koje ne pružaju željenu brzinu kompilacije i ne dozvoljavaju potpunu kontrolu toka kontrole, što je uzrokovalo ozbiljne greške u prošlosti. Pored toga, udaljavanje od LLVM-a omogućava implementaciju agresivnije analize neslaganja i finiju kontrolu opterećenja registra, što vam omogućava da generišete efikasnije izvršne datoteke.

ACO je napisan u C++, dizajniran imajući na umu JIT kompilaciju, i koristi brze iterativne strukture podataka, izbjegavajući strukture zasnovane na pokazivačima kao što su povezane liste i def-use lanci. Reprezentacija srednjeg koda je u potpunosti zasnovana na SSA (Static Single Assignment) i omogućava dodjelu registara preciznim pred-kalkulacijom registra ovisno o shaderu.

Trenutno su samo pikselni (fragmentni) i računarski shaderi podržani na diskretnim AMD GPU-ovima (dGPU VI+). Međutim, ACO već ispravno prikuplja shadere za sve testirane igre, uključujući kompleksne shadere iz Shadow of the Tomb Raider i Wolfenstein II. ACO prototip predložen za testiranje je skoro dvostruko brži od AMDGPU shader kompajlera u smislu brzine kompilacije i pokazuje povećanje FPS-a u nekim igrama kada se radi na sistemima sa RADV drajverom.

Valve je otvorio novi shader kompajler za AMD GPU

Valve je otvorio novi shader kompajler za AMD GPU

izvor: opennet.ru

Dodajte komentar