gpt4 book ai didi

intel - 英特尔为什么不以更加兼容或通用的方式设计其SIMD ISA?

转载 作者:行者123 更新时间:2023-12-04 13:59:16 31 4
gpt4 key购买 nike

英特尔在Xeon Phi上具有多个SIMD ISA,例如SSE,AVX,AVX2,AVX-512和IMCI。这些ISA在不同的处理器上受支持。例如,只有Skylake才支持AVX-512 BW,AVX-512 DQ和AVX-512 VL,而至强融核则不支持。 Skylake和Xeon Phi均支持AVX-512F,AVX-512 CDI,AVX-512 ERI和AVX-512 PFI。

英特尔为什么不设计一种可以在其所有高级处理器上运行的通用SIMD ISA?

此外,英特尔在开发ISA时会删除一些内在函数并添加新的内在函数。许多内在函数具有多种 flavor 。例如,有些工作在打包的8位上,而另一些工作在打包的64位上。某些口味没有得到广泛支持。例如,至强融核将不具备处理压缩8位值的功能。但是,Skylake将拥有此功能。

为什么英特尔会以这种不一致的方式更改其SIMD内部函数?

如果SIMD ISA彼此更兼容,则可以用更少的精力将现有的AVX代码移植到AVX-512。

最佳答案

我认为原因是三方面的。

(1)当他们最初使用designed MMX时,它们的工作空间很小,因此使其变得尽可能简单。他们还以与现有x86 ISA完全兼容的方式进行了此操作(精确中断+上下文切换中的某些状态保存)。他们没想到他们会不断扩大SIMD寄存器的宽度并添加这么多指令。每一代,当他们添加更宽的SIMD寄存器和更复杂的指令时,都必须维护旧的ISA以获得兼容性。

(2)您在AVX-512上看到的奇怪之处在于,他们试图统一两个不同的产品线。 Skylake来自英特尔的PC/服务器产品线,因此其路径可以看作是MMX-> SSE/2/3/4-> AVX-> AVX2-> AVX-512。 Xeon Phi是基于x86兼容的名为Larrabee的图形卡,该图形卡使用了LRBni指令集。这与AVX-512大致相同,但是指令较少,并且与MMX/SSE/AVX/etc尚未正式兼容。

(3)他们针对不同的人口特性提供不同的产品。例如(据我所知),AVX-512 CD指令将不会在用于PC的常规SkyLake处理器中提供,而仅在用于HPC的Xeon Phi上才会在用于服务器的SkyLake Xeon处理器中提供。由于CD扩展针对并行直方图生成之类的东西,因此我可以一定程度地理解这一点。与通用PC相比,这种情况更有可能成为服务器/HPC中的关键热点。

我同意这有点困惑。英特尔开始看到曙光,并计划更好地进行其他扩展。据称,AVX-512已准备好在下一代中扩展到1024位。不幸的是,它仍然还不够好,Agner Fog discusses this on the Intel Forums

对我来说,我希望看到一个可以升级的模型,而无需用户每次都重新编译他们的代码。例如,不是将AVX寄存器定义为ISA中的512位,而是应该将其存储在微体系结构中,并由程序员在运行时进行检索。用户问这台机器上可用的最大SIMD宽度是多少?体系结构返回XYZ,并且用户具有通用的控制流程来处理XYZ的内容。与当前的技术相比,此技术更加干净和可扩展,而当前的技术对每个可能的SIMD版本都使用同一功能的多个版本。 :-/

关于intel - 英特尔为什么不以更加兼容或通用的方式设计其SIMD ISA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31379636/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com