作為Mesa3D圖形項目的獨立貢獻者,Yonggang Luo已開始著手為LLVMpipe啟用AVX-512支援。至於這麼做的原因主要是AMD在Zen4 Ryzen 7000系列桌上型處理器上導入了AVX-512指令集。透過驅動方面的優化,Luo希望為R9-7950X等CPU帶來最佳性能增益。
有趣的是儘管Intel多年來一直在力推AVX-512,但在12代Core桌上型處理器身上,該公司還是透過後續的微碼更新而禁用了這項高能耗特性。出乎意料的是AMD卻選擇了在Zen4 Ryzen 7000系列桌上型處理器上提供了AVX-512指令集。
至於LLVMpipie則是一種獨特的Mesa OpenGL軟解方案。當電腦系統找不到顯示卡硬體/GPU驅動時,就可選擇採用CPU軟解的LLVMpipe方案。不過相較於Ryzen 7000整合的RNDA2,軟解的優勢顯然不會如預期那般顯著—— 即便AMD用的是256-bit(而不是512-bit)路徑。
據悉LLVM是用於為任何編程語言打造前端、並為任何指令集架打造建後端的編譯器/工具鏈技術的一個集合。LLVMpipe將允許LLVM使用一組特定的擴展,並提供較其它軟體(譬如Softpipe / OpenGL)的可執行文件更高的性能。
目前尚不清楚AVX-512可在AMD Zen4新架構上提供多高的性能,此外本次合併請求中包含了一個被稱GALLIUM_OVERRIDE_CPU_CAPS的環境變量。該變量能夠在Softpipie和LLVMpipe中覆蓋CPU功能,以禁用或啟用AVX、SSE和其它指令集功能。最後LP_NATIVE_VECTOR_WIDTH將允許更改向量頻寬,以在LLVMpipe中使用AVX、AVX2、或AVX-512 。
消息來源
|