下面,我们提供一些常用的Intel MKL 函数的性能数据:
1)通用矩阵计算(DGEMM )是一个广为使用的数学函数。 下图给出了Intel MKL 8.0 与ATLAS*的矩阵计算函数的性能数据。ATLAS* (Automatically Tuned Linear Algebra Software) 是比较流行的线性代数的计算函数库。它实现了绝大多数的BLAS 与LAPACK 的函数。ATLAS 的网站是: http://math-atlas.sourceforge.net/.*
Intel MKL 实现了多线程的优化。 在双核和多核处理器上,它能够为DGEMM函数带来2-5倍的性能提升。下图中,我们能够发现: 1)相比于ATLAS 函数库, Intel MKL 能够有明显性能提 2)Intel MKL BLAS 函数提供性能优越的多线程的支持
2) ScaLAPACK 是集群上求解线性方程的标准程序包。它是线性代数程序包(LAPACK)函数的一个子集。下图显示了对于不同问题与不同内存大小,在64 位英特尔至强处理器的 32 节点集群上, Intel MKL的性能. 图中数据表明:1)Intel MKL ScaLAPACK 性能明显超过 NETLIB ScaLAPACK。 2). 与使用 ATLAS* BLAS 与 NETLIB ScaLAPACK 代码相比,英特尔 MKL 的性能更为突出。
3). Intel MKL傅立叶变换函数已针对中等和大型问题进行高度优化。下面的图表将Intel MKL 的性能与广为使用的FFT计算函数FFTW的性能进行了比较。该图表主表明:1)Intel MKL提供优异的傅立叶变换的性能。2) 英特尔® MKL 为多处理器系统提供出色的可伸缩性。 3)在中等和大型转换方面,英特尔® MKL 比 FFTW 更出色。
1 维转换
2 维转换
优化注意事项
即使不是专门针对英特尔微处理器的优化,英特尔编译器也有可能无法为非英特尔微处理器实现相同程度的优化。这些优化包括 SSE2、SSE3 和SSSE3 指令集和其他优化。 英特尔不保证任何优化在非英特尔制造的微处理器上的可用性、功能或有效性。本产品中依赖于微处理器的优化旨在配合英特尔微处理器一起使用。不一定针对英特尔微架构的某些优化专为英特尔微处理器保留。请参见适用产品的“用户和参考指南”了解本注意事项中涵盖的特定指令集的更多相关信息。
注意事项修订版 #20110804