RPCS3开发者称赞AVX-512指令集可极大提升模拟器性能 与传统方案相比可带来约30%的领先优势

来源:cnBeta | 2022-06-17 14:11:57

RPCS3“PlayStation 3 模拟器”开发者,刚刚在一篇冗长的博客文章中,详细介绍了 AVX2 指令集可带来的仿真能提升。Whatcookie 指出:与传统软解方案相比,现代 CPU 上的 AVX-512 能够带来高达 30% 的领先优势。

可知 AVX-512 的优势,主要体现在:

● 更大的寄存器文件

● 为旧指令带来新的形式

● 屏蔽寄存器(mask registers)

作为最受玩家欢迎的 PS3 模拟器之一,RPCS3 开发团队在 Intel 酷睿 i9-12900K 台上展开了测试。其频率设置为默认的 5.2 GHz,并且启用了 AVX-512 。

结果发现,如果使用标准的 SSE2 指令集,模拟器的帧率只能达到 5 FPS 。若迁移至 SSE 4.1 指令集,则可带来 160 FPS 的巨大增益。

显然,缺少对 PS3 模拟器至关重要的 SSE3 指令集,将对其能产生极大的制约。

如果迁移到 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 操作将对此大有裨益。

Icelake 级别的 AVX-512 操作,目标均速度达到了夸张的 235 FPS —— 较 AVX2 / FMA 领先 23% 。

鉴于 AVX-512 中新添加的指令数量如此之多,以至于其中相当多一部分都可在 RPCS3 模拟器中派上用场。

尴尬的是,为了控制消费级台的功耗(使用率也没有那么高),英特尔最终决定在 12 代 Alder Lake CPU 中移除了对 AVX-512 指令集的支持。

另一方面,AMD却证实将在下一代 Zen 4 锐龙 7000 系列 CPU 上充分利用这一点。至于后续 Intel 是否会后悔这一决定,仍有待时间去检验。

标签: 代码指令集 仿真性能提升 软解方案 寄存器文件

责任编辑:techtoutiao

本文相关推荐