因为小核不支持,Alder Lake似乎砍掉了对AVX-512的支持
一般来说,CPU厂家在推出新架构的CPU之前都会向编译器提交与新架构相关的补丁,以让编译器更好地支持新架构上面的新特性和新指令集,这也能够让我们提前得知新架构的很多信息。最近Intel方面向GCC提交了有关于Sapphire Rapids和Alder Lake平台的相关优化代码,其中Alder Lake不会支持AVX-512指令集这点让人深感意外。
Sapphire Rapids是Intel计划于明年发布的新处理器平台,而Alder Lake则是继Rocket Lake之后的新桌面平台,它将会使用新的大小核混合技术,根据Intel的内核微架构路线图,它将会用上Golden Cove+Gracemont的组合。在GCC 11的编译选项中,Alder Lake支持MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, CLDEMOTE, PTWRITE, WAITPKG和SERIALIZE这些指令集。各位读者应该会注意到,相比较当前的Sunny Cove内核支持的指令集,它少了AVX-512相关的几个子集。
这种缺少指令集的情况已经在Lakefield上面出现了,Lakefield上面的小核心并不支持AVX指令集,为了避免程序运行错误,Intel直接屏蔽掉了大核的AVX指令集支持。而Alder Lake将会使用的Gracemont应该是扩宽了后端执行单元,添加了对AVX2的支持,但对于一个小核心来说,AVX-512的支持显然是过于臃肿,Intel并没有做上去,所以相应的,他们屏蔽掉了大核对AVX-512的支持。
AVX-512指令集的缺失会让Intel CPU失去AI运算方面的优势,这也是Intel宣传中一直引以为傲的特性。但从目前的情况来看,Alder Lake应该是“战不了未来”了。