首页 资讯 > 内容

RPCS3 Dev 详细介绍了 AVX-512 为深受喜爱的 PS3 模拟器带来的巨大 CPU 性能提升

时间:2022-06-17 15:30:44 来源:
导读 AVX-512指令集有一段奇异的历史 。最初与基于Knights Landing设计的英特尔Xeon Phi处理器一起推出,后来在 2017 年从 Skylake-SP 开

AVX-512指令集有一段奇异的历史 。最初与基于“Knights Landing”设计的英特尔Xeon Phi处理器一起推出,后来在 2017 年从 Skylake-SP 开始进入该公司的服务器处理器。包含 AVX-512 的第一款消费级处理器是 Ice Lake的笔记本电脑形式,它加入了第 10 代酷睿系列,但台式机第 10 代芯片完全缺乏该功能。

英特尔后来将该指令集包含在其第 11 代Rocket Lake处理器中,然后在第12 代处理器中再次将其删除。我们已经写了很多关于 Alder Lake 上 AVX-512 的传奇,其中 CPU 的 P 核支持它,但 E 核不支持,因此英特尔选择强制禁用指令集无论出于何种原因,所有 Alder Lake 处理器。

很多人对 AVX-512 有很多强烈的感情。老实说,可能太强了。著名的 Linus Torvalds希望指令集“痛苦地死去”,网络上的评论(包括我们自己的 AVX-512 故事)似乎表明许多消费者认为该功能是毫无意义的过度。Torvalds 本人对 AVX-512 单元占用的裸片面积和研究时间感到遗憾,希望能够获得更快的通用性能,而不是专注于 512 位宽度的向量,而这对通用计算的应用有限。

问题是,AVX-512 实际上命名和营销都相当糟糕。当然,指令集包括对大规模 512 位宽矢量数学的支持。不过,它包括的远不止这些。人们通常从 AVX 的角度来考虑 AVX-512,原始的 AVX 大多只是现有 SSE 指令的扩展,以支持 256 位宽度。可以肯定的是,AVX-512 并非如此。

然而,AVX-512 *是*是一个更难回答的问题,因为“AVX-512”指令有不少于十八种不同类别。不仅有如此多的新指令我们甚至无法全部列出,更糟糕的是,没有一个具有“AVX-512 支持”的 CPU 实际上支持所有类型的 AVX-512 指令。事实上,虽然 AMD'AVX-512 在某些能力上,我们还不知道它会在 VNNI 块之外支持哪些指令。

尽管如此,即使有所有这些说明,您仍可能想知道它们有什么用。好吧,事实证明,不管您是否使用 512 位数据类型。我们过去讨论过的一个具体案例是视频游戏仿真。将 ARM CPU 功能转换为 x86 代码的“Dynarmic”内核用于多个流行的仿真器,包括 Nintendo Switch 仿真器 Yuzu 和 PlayStation Vita 仿真器 Vita3k。当它可用于各种显着加速时,它会广泛使用 AVX-512。

标签: