转自:http://blog.csdn.net/gengshenghong/article/details/7011939
Intel MKL:Intel Math Kernel Library,英特尔数学核心函数库。
下面是从英特尔网站上相关MKL的产品介绍页面等,可以用于初步了解MKL:
Intel MKL产品介绍:
http://software.intel.com/zh-cn/articles/intel-mkl/ (http://software.intel.com/en-us/articles/intel-mkl/)
Intel MKL相关文档的链接(提供一些和MKL有关的文档):
http://software.intel.com/en-us/articles/intel-math-kernel-library-documentation/
Intel MKL Reference Manual(参考手册)(可以用于查询所有的MKL函数的说明和使用):
http://software.intel.com/sites/products/documentation/hpc/mkl/mklman/index.htm
下面是http://software.intel.com/zh-cn/articles/intel-mkl/上关于MKL的概述:
英特尔数学核心函数库是一套经过高度优化和广泛线程化的数学例程,专为需要极致性能的科学、工程及金融等领域的应用而设计。核心数学函数包括 BLAS、LAPACK、ScaLAPACK1、稀疏矩阵解算器、快速傅立叶转换、矢量数学及其它函数。
它可以为当前及下一代英特尔处理器提供性能优化,包括更出色地与 Microsoft Visual Studio、Eclipse和XCode相集成。英特尔MKL 支持完全集成英特尔兼容性OpenMP运行时库,以实现更出色的 Windows/Linux跨平台兼容性。
(Mac OS X操作系统不支持 ScaLAPACK。)
总结一下,可以得到MKL的以下特性(http://www3.intel.com/cd/software/products/apac/zho/329191.htm):
(1)接口支持:Intel MKL是一套经过高度优化和线程化的函数库,提供C和Fortran接口。
(2)处理器支持:可以为当前以及下一代处理器提供性能优化,其支持全部兼容英特尔处理器的处理器。说明:MKL会更加运行的处理器环境,自动运行时处理器检测,从而对不同的处理器运行不同的优化版本的程序,从而保证其能在所运行的处理器上都能获得较好的性能,所以,有可能同一个使用了MKL的程序,在不同的处理器上运行的性能不同,因为MKL会针对不同的处理器进行检测,对其进行尽可能的最大化优化。
(3)平台和工具支持:支持主流的操作系统(Windows、linux、Mac OS等),与主流的开发工具(VS、Eclipse、Xcode、GCC等)集成。
(4)多核多线程扩充性能和线程安全性:
内置并行处理机制,在多核和多处理器上自动获取出色的扩充性能。所有的MKL函数都是线程安全的。同时提供非线程化顺序型MKL。
(5)功能:
线性代数(BLAS和LAPACK)
线性代数 —— ScaLAPACK
线性代数 —— 稀疏矩阵解算器
快速傅立叶变换(FFT)
矢量数学库
矢量随机数生成器
LINPACK 性能指标评测
等。
更多信息,参考相关文档。