英特尔CPU指令集以及运算加速

前沿

人工智能运算分析依赖CPU和显卡的运算能力。查询CPU支持的指令集,当前加速会用到AVX2指令集,如何查询是否支持


工具下载https://www.cpuid.com/softwares/cpu-z.html

AMD Ryzen Threadripper 3000初步支持

英特尔冰湖初步支持NVIDIA RTX 2070年和2080年超级

下载压缩。中国https://www.cpuid.com/downloads/cpu-z/cpu-z_1.90-cn.zip


Linux的查询指令猫/proc/cpuinfo


知识储备

AVX2指令集:AVX指令集的加强版
对于指令集和AVX指令集不了解的朋友可以先看看《AVX是什么? AVX指令集技术与应用解析》。当年AVX在SSE4指令集的基础上加入了256位矢量宽度,增强的数据排序,3/4个操作数,不对齐内存存取以及烦恼编码方式,最直接的收益就是浮点性能最大提升了2倍。

AVX2的新内容
在2011年发布的AVX2则在此基础上加入了以下新内容:
-整数SIMD指令扩展至256位
2个新菲利普-马萨(融合乘加,即±(a×b)±c)单元及浮点FMA指令
- - - - - -离散数据加载指令“收集”,新的位移和广播指令
理论性能:整数和浮点性能翻倍
其中最为重要的是对256位的整数SIMD的支持,并新增60条256位浮点SIMD指令,完善从AVX开始的256位扩展,理论上可再次提升整数和浮点运算速度。

新FMA单元和指令带来更强的性能
菲利普-马萨则关系到浮点运算能力.Haswell架构中拥有2个新的菲利普-马萨单元(英特尔的FMA3指令),每个FMA单元支持8个单精度或4个双精度浮点数,每周期单/双精度失败都要比AVX高1倍。
FMA拥有20种指令形式,与3种操作数次序组合,形成60种新指令,为选择内存操作数或目的操作数提供了极大的灵活性。另外融合乘加还会自动选择多项式的计算过程,降低了延迟。


英特尔CPU指令集以及运算加速