Valve-ը բացել է նոր Shader կոմպիլյատոր AMD GPU-ների համար

Փական ընկերություն առաջարկեց Mesa ծրագրավորողների փոստային ցուցակն ունի նոր shader կոմպիլյատոր ACO Vulkan-ի վարորդ RADV-ի համար, դիրքավորվող որպես այլընտրանք AMDGPU shader կոմպիլյատորին, որն օգտագործվում է OpenGL և Vulkan դրայվերներում RadeonSI և RADV AMD գրաֆիկական չիպերի համար:
Թեստավորումն ավարտվելուց և ֆունկցիոնալությունը ավարտվելուց հետո նախատեսվում է ACO-ն առաջարկել հիմնական Mesa կազմի մեջ ներառելու համար:

Valve-ի առաջարկած կոդը նպատակաուղղված է ապահովելու կոդերի ստեղծում, որը հնարավորինս օպտիմալ է խաղի հավելվածների շեյդերների համար, ինչպես նաև հասնելու շատ բարձր կոմպիլյացիայի արագության: Mesa-ի շեյդեր կոմպիլյատորն օգտագործում է LLVM բաղադրիչներ, որոնք չեն ապահովում կոմպիլյացիայի ցանկալի արագությունը և թույլ չեն տալիս վերահսկողության հոսքի ամբողջական վերահսկում, ինչը նախկինում լուրջ սխալներ է առաջացրել։ Բացի այդ, LLVM-ից հեռանալը հնարավորություն է տալիս իրականացնել անհամապատասխանությունների ավելի ագրեսիվ վերլուծություն և ռեգիստրի բեռի ավելի նուրբ վերահսկում, ինչը թույլ է տալիս ստեղծել ավելի արդյունավետ գործարկվող նյութեր:

ACO-ն գրված է C++-ով, նախագծված է JIT կոմպիլյացիան մտքում և օգտագործում է արագ կրկնվող տվյալների կառուցվածքներ՝ խուսափելով ցուցիչի վրա հիմնված կառուցվածքներից, ինչպիսիք են կապակցված ցուցակները և def-use շղթաները: Միջանկյալ ծածկագրի ներկայացումն ամբողջությամբ հիմնված է SSA- ն (Static Single Assignment) և թույլ է տալիս ռեգիստրի տեղաբաշխում՝ ճշգրիտ նախապես հաշվարկելով ռեգիստրը՝ կախված ստվերից:

Ներկայումս AMD դիսկրետ GPU-ների վրա (dGPU VI+) աջակցվում են միայն պիքսելային (հատված) և հաշվողական ստվերներ: Այնուամենայնիվ, ACO-ն արդեն ճիշտ է հավաքում շեյդերները բոլոր փորձարկված խաղերի համար, ներառյալ՝ Shadow of the Tomb Raider-ի և Wolfenstein II-ի բարդ շեյդերները: Փորձարկման համար առաջարկված ACO-ի նախատիպը կոմպիլյացիայի արագության առումով գրեթե երկու անգամ ավելի արագ է, քան AMDGPU shader կոմպիլյատորը և ցույց է տալիս FPS-ի աճ որոշ խաղերում, երբ աշխատում է RADV դրայվերով համակարգերում:

Valve-ը բացել է նոր Shader կոմպիլյատոր AMD GPU-ների համար

Valve-ը բացել է նոր Shader կոմպիլյատոր AMD GPU-ների համար

Source: opennet.ru

Добавить комментарий