7

x86 兼容加速器 MIC Intel Xeon Phi 中是否有 SIMD(SSE / AVX) 指令?

http://en.wikipedia.org/wiki/Xeon_Phi

4

1 回答 1

12

是的,当前一代的英特尔至强融核协处理器(代号“Knight's Corner”,缩写为 KNC)支持称为“英特尔® 初始多核指令”(缩写为英特尔® IMCI)的 512 位 SIMD 指令集。

英特尔 IMCI与 SSE、AVX、AVX2 或 AVX-512 ISA“兼容”且不等同。然而,官方宣布下一代至强融核(代号“Knight's Landing”,缩写为KNL将支持 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)英特尔工具链将不再是唯一的选择,但它可能会继续提供许多优势,包括可靠的显式和自动矢量化以及与英特尔的良好集成水平分析工具(注意例如Intel (Vectorization) Advisor中的AVX-512 分析)。

AVX-512 ISASSE、AVX 和 AVX2 兼容。因此,在 Xeon 上为 AVX 编译的应用程序将在KNL上运行,而在 Xeon Phi KNL上为 AVX-512 编译的应用程序通常将在未来几代 Xeon 上运行(以支持未来的 AVX-512)。

使用以下在线指南可以轻松探索 AVX、IMCI 和未来 AVX-512 指令集之间的区别:http: //software.intel.com/sites/landingpage/IntrinsicsGuide/

于 2014-03-28T17:24:00.943 回答