Si Mike Blumenkrantz ay may nagtatrabaho sa ilalim ng kontrata para sa Valve sa open-source na Zink OpenGL-on-Vulkan na pagpapatupad para sa Mesa ngunit ang gawaing iyon ay dinala din sa mga driver ng Mesa Vulkan kung saan mayroong karaniwang overlap. Ang kanyang kamakailang trabaho ay nakatuon sa pagpapababa ng overhead ng CPU ng ilang mga operasyon sa driver ng RADV Vulkan.

Tulad ng nabanggit kamakailan, siya ay nagtatrabaho sa vkoverhead bilang isang Vulkan overhead benchmark. Mula doon napansin niya na ang driver ng RADV ay mas mabagal kaysa sa driver ng AMDGPU-PRO para sa pinakapangunahing”draw”na pagsubok. Para sa pinakapangunahing pagsubok sa Vulkan na iyon, ang RADV ay nakakamit lamang ng humigit-kumulang 28.3 milyong mga draw bawat segundo habang ang AMDGPU-PRO ay nakakakuha ng humigit-kumulang 32.8 milyong mga draw bawat segundo.

Buweno, sa pag-profile ng RADV execution para sa napakasimpleng Vulkan test na ito at sa paghahanap ng mga bottleneck na dapat tugunan, tinapos niya ang kanyang maliit na pakikipagsapalaran sa pagtama ng 44 milyong draw bawat segundo sa RADV! Oo, isang 55% na pagtaas sa throughput ng RADV draw kumpara sa kasalukuyang RADV code sa mainline na Mesa at humigit-kumulang 30% na nangunguna sa pagmamay-ari ng AMDGPU-PRO na Vulkan driver mula sa AMD.

Itong kahilingan sa pagsasama ay nakabinbin2 para sa Me bawasan ang overhead ng CPU at makamit ang napakalaking pagpapabuti na ito. Kinailangan ito ng 20 patch na humawak sa halos 200 linya ng RADV driver code para sa pinakabagong gawain sa pag-optimize mula sa Blumenkrantz.

Nag-post si Mike Blumenkrantz ng isa pang malikhaing blog entry ngayon na binabalangkas ang kanyang draw overhead optimization crusade.

Hindi siya nagkomento kahit na sa kanyang post sa blog kung/anong uri ng pagpapabuti ang isinasalin nito para sa anumang real-world na Vulkan workloads/Linux gaming. Sa anumang kaganapan, isang magandang pagpapalakas sa pagganap ng RADV para sa pangunahing throughput ng draw.

Categories: IT Info