x86兼容加速器MIC Intel Xeon Phi中是否有SIMD(SSE / AVX)指令?
答案 0 :(得分:13)
是的,当前一代的英特尔至强融核协处理器(代号“Knight's Corner”,缩写为KNC)支持称为“英特尔®初始多核指令”的512位SIMD指令集(缩写为英特尔) ® IMCI )。
英特尔IMCI 不“与”兼容,并且与SSE,AVX,AVX2或AVX-512 ISA不相同。 然而,它正式宣布下一代Xeon Phi计划(代号“Knight's Landing”,缩写 KNL )will support AVX-512 ISA。
Intel IMCI(由KNC支持)和AVX-512(由KNL支持)均为512位SIMD指令集,支持FMA并允许打包8个双精度或16个单精度浮点数,或16 32位整数(即比AVX或AVX2“多”两倍)。
虽然 KNC 无法“运行”SSE或AVX二进制文件,但通常无关紧要,因为为了生成您的应用程序二进制文件以便能够在KNC上运行 - 您需要重新编译您的代码使用英特尔C / C ++ / Fortran编译器,已知它可以自动或半自动生成相对有效的矢量代码(用于SSE,AVX,IMCI等),并且还可以根据需要使用IMCI内在函数。
旁注:对于Knights Landing(支持AVX-512),英特尔工具链将不再是唯一的选择,但它可能会继续提供许多优势,包括可靠的显式和自动矢量以及良好的水平与英特尔配置工具集成(请注意AVX-512 analysis中的Intel (Vectorization) Advisor)。
AVX-512 ISA 与SSE,AVX和AVX2兼容。因此,在Xeon上为AVX编译的应用程序将在 KNL 上运行,而在Xeon Phi KNL 上为AVX-512编译的应用程序通常将在 future 代上运行Xeon(将来支持AVX-512)。
使用以下在线指南可以轻松探索AVX,IMCI和未来AVX-512指令集之间的区别:http://software.intel.com/sites/landingpage/IntrinsicsGuide/