RADV Vulkan-ŝoforo estis ŝanĝita por uzi la ACO-ombrilan kompilan backend

En la kodbazo uzita por formi la Mesa 20.2-eldonon, efektivigita ŝanĝante RADV, la Vulkan-ŝoforon por AMD-blatoj, por uzi la defaŭltan backend por kompili ombrilojn "AKO", kiu estas disvolvita de Valve kiel alternativo al la LLVM-ombrila kompililo. Ĉi tiu ŝanĝo kondukos al pliigita lud-efikeco kaj reduktita lanĉtempo. Por redoni la malnovan backend, la mediovariablo "RADV_DEBUG=llvm" estas provizita.

Ŝanĝi la RADV-ŝoforon al la nova backend iĝis ebla post kiam ACO atingis egalecon en funkcieco kun la malnova backend evoluigita fare de AMD por la AMDGPU-ŝoforo, kiu daŭre estas uzita en la RadeonSI OpenGL-ŝoforo. Testado de Valve montriske ACO estas preskaŭ duoble pli rapida ol la AMDGPU-ombrilo-kompililo laŭ kompilrapideco kaj pruvas pliiĝon de FPS en iuj ludoj kiam funkcias per sistemoj kun la RADV-ŝoforo.

RADV Vulkan-ŝoforo estis ŝanĝita por uzi la ACO-ombrilan kompilan backend

RADV Vulkan-ŝoforo estis ŝanĝita por uzi la ACO-ombrilan kompilan backend

La ACO-backend celas provizi kodgeneradon kiel eble plej optimuman por videoludaj aplikaĵaj ombriloj, kaj ankaŭ atingi tre altan kompilrapidecon. ACO estas skribita en C++, dizajnita kun JIT-kompilo en menso, kaj uzas rapidajn ripetajn datenstrukturojn, evitante montril-bazitajn strukturojn. La meza reprezentado de la kodo estas tute bazita sur SSA (Static Single Assignment) kaj permesas registrasignon precize antaŭkalkulante la registron depende de la ombrilo.

Aldono: Nuntempe, ACO funkcias nur por la Mesa RADV Vulkan-ŝoforo. Sed ACO-programistoj konfirmiske ilia sekva paŝo estos komenci labori pri vastigado de la kapabloj de ACO por subteni la RadeonSI OpenGL-ŝoforon, por ke estonte, por ĉi tiu ŝoforo, ACO povu anstataŭigi la defaŭltan LLVM-ombrilo-kompililon.

fonto: opennet.ru

Aldoni komenton