Valve udostępniło nowy kompilator shaderów dla procesorów graficznych AMD

Firma Valve zasugerował Lista mailingowa programistów Mesa zawiera nowy kompilator shaderów ACO dla sterownika Vulkan RADV, pozycjonowane jako alternatywa dla kompilatora modułu cieniującego AMDGPU stosowanego w sterownikach OpenGL i Vulkan RadeonSI i RADV dla układów graficznych AMD.
Po zakończeniu testów i sfinalizowaniu funkcjonalności planuje się zaoferowanie ACO do włączenia do głównego zestawu Mesa.

Kod zaproponowany przez Valve ma na celu zapewnienie możliwie optymalnej generacji kodu dla shaderów aplikacji do gier, a także osiągnięcie bardzo dużej szybkości kompilacji. Kompilator shaderów Mesy wykorzystuje komponenty LLVM, które nie zapewniają pożądanej szybkości kompilacji i nie pozwalają na pełną kontrolę nad przepływem sterowania, co w przeszłości powodowało poważne błędy. Ponadto odejście od LLVM umożliwia wdrożenie bardziej agresywnej analizy rozbieżności i dokładniejszej kontroli obciążenia rejestru, co pozwala na generowanie bardziej wydajnych plików wykonywalnych.

ACO jest napisany w C++, zaprojektowany z myślą o kompilacji JIT i wykorzystuje szybkie iteracyjne struktury danych, unikając struktur opartych na wskaźnikach, takich jak połączone listy i łańcuchy def-use. Pośrednia reprezentacja kodu jest w całości oparta na SSA (Statyczne pojedyncze przypisanie) i umożliwia alokację rejestrów poprzez dokładne wstępne obliczenie rejestru w zależności od modułu cieniującego.

Obecnie na dyskretnych procesorach graficznych AMD (dGPU VI+) obsługiwane są tylko shadery pikseli (fragmentów) i obliczeń obliczeniowych. Jednak ACO już poprawnie zbiera shadery dla wszystkich testowanych gier, w tym złożone shadery z Shadow of the Tomb Raider i Wolfenstein II. Zaproponowany do testów prototyp ACO jest prawie dwukrotnie szybszy od kompilatora shaderów AMDGPU pod względem szybkości kompilacji i wykazuje wzrost FPS w niektórych grach przy uruchomieniu na systemach ze sterownikiem RADV.

Valve udostępniło nowy kompilator shaderów dla procesorów graficznych AMD

Valve udostępniło nowy kompilator shaderów dla procesorów graficznych AMD

Źródło: opennet.ru

Dodaj komentarz