英特尔在其主流酷睿系列中首次推出AVX-512指令,即第11代Rocket Lake处理器。后来,在第12代(Alder Lake)和更新的芯片(第13代Raptor Lake)中,英特尔采用了一种名为"Big-Bigger"的混合CPU设计方法,同时放弃了AVX-512。这背后的原因可能是AVX-512带来的高功耗,尽管当它可以被使用时,有明显的性能优势。然而,英特尔酷睿工程师可能觉得额外的性能权衡是不值得的。
然而,竞争对手AMD很晚才推出AVX-512,即Zen 4或Ryzen 7000。而且,看起来此举很快就会给AMD带来回报。流行的合成CPU基准测试,如y-cruncher和Geekbench正在扩大对AVX-512的测试支持。
y-cruncher的开发者对英特尔删除指令的决定表示失望,因为他们觉得有几个随之而来的缺点,并补充说这是很难优化的:
我被问过很多次,为什么我没有为最近的英特尔处理器做任何优化。y-cruncher有优化功能的最新英特尔处理器是Tiger Lake,比最新的(Raptor Lake)晚了两代。而且由于Raptor Lake缺乏AVX512,它只能运行一直追溯到Skylake客户端(大约2015年)的二进制。
[...]
移除AVX512是一个巨大的退步,不仅仅是指令宽度的问题。它还删除了AVX512独有的所有其他(非宽度)功能,如屏蔽、全对全包和增加寄存器数量。从开发者的角度来看,这非常令人沮丧,因为自2016年以来,我一直在研究的大多数算法都受到AVX512的严重影响(如果不是直接为其设计)。
缺乏AVX512很可能是Tiger Lake和Rocket Lake在单线程基准测试中表现优于Alder Lake的原因,因为内存带宽和核心数量不是一个因素。
在其最新的0.8.x版本中,y-cruncher注意到Ryzen 7000在计算Pi时有一些明显的性能提升。它说AVX-512与以前的版本相比,可以提供23-31%的改进。
同时,Geekbench现在已经扩大了对AVX-512与FP16或float16指令的支持。Geekbench的制造商Primate Labs表示,AVX512-FP16将被纳入"若干图像处理功能"。
除此以外,新的Geekbench 6.1还解决了三星Galaxy S23和类似设备的热节流问题。
AMD的Zen 4不支持AVX-512 - FP16。这一点现在已经得到了纠正。根据y-cruncher的Alexander Yee,Zen 4支持以下AVX-512指令:
- AVX512-F
- AVX512-CD
- AVX512-VL
- AVX512-BW
- AVX512-DQ
- AVX512-IFMA
- AVX512-VBMI
- AVX512-VNNI
- AVX512-BF16
- AVX512-VPOPCNTDQ
- AVX512-VBMI2
- AVX512-VPCLMULQDQ
- AVX512-BITALG
- AVX512-GFNI
- AVX512-VAES