RPCS3開發者稱讚AVX-512指令集可極大提升模擬器性能

RPCS3“PlayStation 3 模擬器”開發者,剛剛在一篇冗長的博客文章中,詳細介紹了 AVX2 指令集可帶來的仿真性能提升。Whatcookie 指出:與傳統軟解方案相比,現代 CPU 上的 AVX-512 能夠帶來高達 30% 的領先優勢。

1.jpg

可知 AVX-512 的優勢,主要體現在:

● 更大的寄存器文件

● 為舊指令帶來新的形式

● 屏蔽寄存器(mask registers)

2.png

作為最受玩家歡迎的 PS3 模擬器之一,RPCS3 開發團隊在 Intel 酷睿 i9-12900K 平台上展開了測試。其頻率設置為默認的 5.2 GHz,並且啟用了 AVX-512 。

結果發現,如果使用標準的  SSE2 指令集,模擬器的幀率只能達到 5 FPS 。若遷移至 SSE 4.1 指令集,則可帶來 160 FPS 的巨大增益。

顯然,缺少對 PS3 模擬器至關重要的 SSE3 指令集,將對其性能產生極大的制約。

3.png

如果遷移到 AVX2 / FMA,可獲得額外的 13% 性能提升。而從 AVX2 切換到 AVX-512,更是可以獲得 30% 的性能提升(幀率達到 242 FPS)。

● 此外 SSE 4.1 的目標平均幀率有 160 FPS,而 AVX2 / FMA 為 190 FPS —— 較前者提升 18% 。

● AVX2 在 SSE 4.1 上沒有包含多少新指令,但確實提供了一套新穎的 3 操作數形式指令 —— 免去了大量的寄存器間 mov 指令。

● 更重要的是,所有支持 AVX2 的 CPU,也都支持 FMA 指令。

FMA 指令不僅比乘法 + 加法指令鏈更快,且由於在它們之間沒有四捨五入到單精度、因而可以避免輸出結果不一致的問題。

而要在缺乏 FMA 指令的情況下準確模擬,必然會增加一些額外的開銷,因而原生 FMA 操作將對此大有裨益。

4.jpg

Icelake 級別的 AVX-512 操作,目標平均速度達到了誇張的 235 FPS —— 較 AVX2 / FMA 領先 23% 。

鑒於 AVX-512 中新添加的指令數量如此之多,以至於其中相當多一部分都可在 RPCS3 模擬器中派上用場。

尷尬的是,為了控制消費級平台的功耗(使用率也沒有那麼高),英特爾最終決定在 12 代 Alder Lake CPU 中移除了對 AVX-512 指令集的支持。

另一方面,AMD 卻證實將在下一代 Zen 4 銳龍 7000 系列 CPU 上充分利用這一點。至於後續 Intel 是否會後悔這一決定,仍有待時間去檢驗。

(0)
上一篇 2022-06-16 15:41
下一篇 2022-06-16 15:41

相关推荐