本文共 1312 字,大约阅读时间需要 4 分钟。
了解当前CPU支持的指令集对于优化计算性能至关重要。以下是查看CPU指令集的方法和相关信息:
cat /proc/cpuinfo | grep flags 查看CPU指令集。Intel i7-7700 CPU 支持 AVX2 指令集,但不支持 AVX-512。AVX512-IFMA 为 Intel AVX512 指令集的一个扩展集,主要用于加速整数运算。基于 AVX512-IFMA 的实现可将速度提升至 AVX2 的 1.5 倍。
目前支持 AVX512-IFMA 的 CPU 主要包括 Cannon Lake(如 Intel® Core™ i3-8121U Processor)和 Ice Lake 系列处理器。
SIMD 是并行计算中的重要技术。Flynn 分类法基于指令流和数据流的并发数量将计算机架构分为四类:
AVX 是 CPU 指令集的扩展,主要衍化包括:
AVX 指令集遵循 IEEE-754 规范,支持 32 位单精度浮点数和 64 位双精度浮点数。YMM 寄存器可存储 8 个单精度浮点数或 4 个双精度浮点数,内存对齐建议为 16 字节或 32 字节。
MXCSR 寄存器用于状态报告,除非使用 LDMXCSR 或 FXRSTOR 清理,否则会保持不变。
根据《Intel® Advanced Vector Extensions Programming Reference.pdf》,AVX2 指令集包含以下新增指令:
这些指令延伸了 AVX 的功能,提升了计算效率。
转载地址:http://hqmx.baihongyu.com/