Driver Vulkan RADV został przystosowany do używania backendu kompilacji shaderów ACO

W kodzie używanym do generowania wydania Mesa 20.2, zrealizowano przełączenie RADV, sterownika Vulkan dla chipów AMD, na domyślne użycie backendu do kompilacji shaderów „ACO«, który rozwijany jest przez firmę Valve jako alternatywa dla kompilatora shaderów LLVM. Wprowadzenie tej zmiany przyczyni się do zwiększenia wydajności gier oraz skrócenia czasu ich uruchamiania. Aby powrócić do starego backendu, można ustawić zmienną środowiskową „RADV_DEBUG=llvm”.

Przełączenie sterownika RADV na nowy backend stało się możliwe po osiągnięciu w ACO parytetu funkcjonalności ze starym backendem, opracowanym przez AMD dla sterownika AMDGPU, który nadal jest używany w sterowniku OpenGL RadeonSI. Przeprowadzone przez firmę Valve testy pokazały, wykazały, że ACO prawie dwukrotnie przewyższa kompilator shaderów AMDGPU pod względem szybkości kompilacji i pokazuje zwiększenie FPS w niektórych grach działających na systemach z sterownikiem RADV.

Driver Vulkan RADV został przystosowany do używania backendu kompilacji shaderów ACO

Driver Vulkan RADV został przystosowany do używania backendu kompilacji shaderów ACO

Backend ACO ma na celu zapewnienie generacji kodu, który jest możliwie najbardziej optymalny dla shaderów aplikacji gier, a także osiągnięcie bardzo wysokiej szybkości kompilacji. ACO zostało napisane w C++, jest rozwijane z myślą o możliwościach stosowania do JIT-kompilacji i wykorzystuje szybkie do przeszukiwania struktury danych, unikając struktur opartych na wskaźnikach. Pośrednia reprezentacja kodu opiera się w pełni na SSA (Static Single Assignment) i pozwala na przeprowadzanie alokacji rejestrów, precyzyjnie obliczając rejestr w zależności od shadera.

Dodatkowo: Na chwilę obecną ACO działa tylko dla sterownika Vulkan Mesa RADV. Ale twórcy ACO potwierdzili, zapowiadają, że ich kolejnym krokiem będzie rozpoczęcie pracy nad rozszerzeniem możliwości ACO w celu zapewnienia wsparcia dla sterownika OpenGL RadeonSI, aby w przyszłości ACO mogło zastąpić domyślny kompilator shaderów LLVM także dla tego sterownika.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster