Кампанія Valve адкрыла новы кампілятар шэйдараў для GPU AMD

Кампанія Valve прапанавала у спісе рассылання распрацоўнікаў Mesa новы кампілятар шэйдараў ACO для Vulkan-драйвера RADV, пазіцыянуемы у якасці альтэрнатывы кампілятару шэйдараў з AMDGPU, які выкарыстоўваецца ў OpenGL-і Vulkan-драйверах RadeonSI і RADV для графічных чыпаў AMD.
Пасля завяршэння тэсціравання і дапрацоўкі функцыянальнасці, ACO плануецца прапанаваць для ўключэння ў асноўны склад Mesa.

Прапанаваны Valve код накіраваны на забеспячэнне генерацыі кода, наколькі гэта магчыма аптымальнага для шэйдараў гульнявых прыкладанняў, а таксама на дасягненне вельмі высокай хуткасці кампіляцыі. Наяўны ў Mesa кампілятар шэйдараў выкарыстае кампаненты LLVM, якія не дазваляюць дамагчыся жаданай хуткасці кампіляцыі і не дазваляюць цалкам кантраляваць кіравальны струмень, што ў мінулым ужо станавілася чыннікам узнікнення сур'ёзных памылак. Акрамя таго, сыход ад LLVM дае магчымасць рэалізаваць больш агрэсіўны аналіз разыходжанняў і больш тонка кіраваць нагрузкай на рэгістры, што дазваляе генераваць больш эфектыўныя выкананыя файлы.

ACO напісаны на мове З++, распрацоўваецца з аглядкай на магчымасць ужывання для JIT-кампіляцыі і выкарыстае хуткія для перабору структуры дадзеных, пазбягаючы структур на аснове паказальнікаў, такіх як злучаныя спісы і ланцужкі def-use. Прамежкавае прадстаўленне кода цалкам грунтуецца на SSA (Static Single Assignment) і дазваляе выконваць размеркаванне рэгістраў, сапраўды папярэдне вылічаючы рэгістр у залежнасці ад шэйдара.

У цяперашні час пакуль падтрымліваюцца толькі піксельныя (фрагментныя) і вылічальныя шэйдары на дыскрэтных GPU AMD (dGPU VI +). Тым не менш, ACO ужо карэктна збірае шэйдары для ўсіх пратэставаных гульняў, у тым ліку складаныя шэйдары ад гульняў Shadow of the Tomb Raider і Wolfenstein II. Прапанаваны для тэставання прататып ACO амаль у два разы пераўзыходзіць кампілятар шэйдараў AMDGPU па хуткасці кампіляцыі і дэманструе павелічэнне FPS у некаторых гульнях, пры іх працы на сістэмах з драйверам RADV.

Кампанія Valve адкрыла новы кампілятар шэйдараў для GPU AMD

Кампанія Valve адкрыла новы кампілятар шэйдараў для GPU AMD

Крыніца: opennet.ru

Дадаць каментар