作為Mesa3D圖形項目的獨立貢獻者,YonggangLuo已開始著手為LLVMpipe啟用AVX-512支持。至於這麼做的原因,主要是AMD在Zen4銳龍7000系列臺式處理器上引入AVX-512指令集。通過驅動方面的優化,Luo希望為R9-7950X等CPU帶來最佳性能增益。
有趣的是,盡管 Intel 多年來一直在力推 AVX-512,但在 12 代酷睿臺式處理器身上,該公司還是通過後續的微碼更新而禁用這項高能耗特性。
出乎意料的是,AMD 卻選擇在 Zen 4 銳龍 7000 系列臺式處理器上提供 AVX-512 指令集。
至於 LLVMpipie,則是一種獨特的 Mesa OpenGL 軟解方案。當計算機系統找不到顯卡硬件 / GPU 驅動程序時,就可選擇基於 CPU 軟解的 LLVMpipe 方案。
不過相較於銳龍 7000 集成的 RNDA 2 核顯,軟解的優勢顯然不會如預期那般顯著 —— 即便 AMD 用的是 256-bit(而不是 512-bit)路徑。
據悉,LLVM 是“用於為任何編程語言創建前端、並為任何指令集架構創建後端的編譯器 / 工具鏈技術的一個集合”。
LLVMpipe 將允許 LLVM 使用一組特定的擴展,並提供較其它軟件軟件(比如 Softpipe / OpenGL)的可執行文件更高的性能。
截圖(來自:FreeDesktop)
目前尚不清楚 AVX-512 可在 AMD Zen 4 新架構上提供多高的性能,此外本次合並請求中包含一個被稱“GALLIUM_OVERRIDE_CPU_CAPS”的環境變量。
該變量能夠在 Softpipie 和 LLVMpipe 中覆蓋 CPU 功能,以禁用或啟用 AVX、SSE 和其它指令集功能。
最後,“LP_NATIVE_VECTOR_WIDTH”將允許更改向量位寬,以在 LLVMpipe 中使用 AVX、AVX2、或 AVX-512 。