英特尔® MKL 中的英特尔® AVX 优化代码

英特尔® AVX(英特尔® 高级矢量扩展指令集)是英特尔处理器发展的下一步。自英特尔® MKL 10.2 版本开始,英特尔® MKL 都具有英特尔® AVX 优化代码,但是,如果要激活 10.2 版本中的英特尔® AVX 代码,用户需要使用 mkl_enable_instructions()。从英特尔® MKL 10.3 版本开始,英特尔® AVX 代码将自动得到分派,并且不需要专门激活。在英特尔® MKL 10.3 版本中,英特尔® AVX 优化已扩展至 DGEMM/SGEMM、radix-2 Complex-to-Complex FFT、大部分实际的 VML 函数和 VSL 分布生成器。

在英特尔® MKL 10.3 版本中,在 Nehalem(NHM)架构上,支持英特尔® AVX 的处理器运行支持英特尔® AVX 的操作系统会实现加速,如下所示:

英特尔® AVX DGEMM (M, N, K=8Kx4Kx128) 的运行速度比在 NHM 上运行快 1.8 倍。英特尔® AVX DGEMM/SGEMM 达到 88-90% 的设备峰值。

英特尔® AVX/NHM 运行 radix-2 1D 集群 FFT(N=1024)的速度加快 1.8 倍

利用英特尔® AVX 优化代码的 Intel® Optimized LINPACK 性能指标评测在 4 枚内核(N=20000)上的运行速度加快 1.86 倍(或总效率超过 80%)。


如需更全面地了解编译器优化,请参阅优化注意事项