MKL——常用函数说明

Intel MKL,全称 Intel Math Kernel Library,提供经过高度优化和大量线程化处理的数学例程,面向性能要求极高的科学、工程及金融等领域的应用。MKL是一款商用函数库,提供C、Fortran 和 Fortran 95的支持,但仅支持Intel自家旗下的CPU。

在Intel CPU上,MKL的性能要远高于Eigen, 虽然OpenBLAS和其差距不是太大,但OpenBLAS提供的函数太少。

下面,简单介绍一些C环境下常用的MKL矩阵运算函数。主要使用单精度浮点数据操作

字符关键字

数据类型关键字:

s: real, single precision,实数单精度

c: complex, single precision,复数单精度

d: real, double precision,实数双精度

z: complex, double precision,复数双精度

常用矩阵类型关键字:

ge: general matrix,一般矩阵

gb: general band matrix,一般带状矩阵

sy: symmetric matrix,对称矩阵
sp: symmetric matrix (packed storage)
sb: symmetric band matrix

tr: triangular matrix,三角阵
tp: triangular matrix (packed storage)
tb: triangular band matrix.

常用操作类型关键字:

mv: matrix-vector product,矩阵向量乘积

sv: solving a system of linear equations with a single unknown vector

mm: matrix-matrix product,矩阵矩阵乘积

sm: solving a system of linear equations with multiple unknown vectors

举例说明:

cblas_sgemm :

s: 单精度浮点数;
ge: 一般矩阵;
mm: 矩阵矩阵乘法;

全局枚举变量定义

列出几个最常用到的,MKL已经定义的枚举变量类型:

//行主序 or 列主序
enum CBLAS_LAYOUT {
CblasRowMajor=101, /* row-major arrays */
CblasColMajor=102}; /* column-major arrays */

// 不转置 or 转置 or 共轭
enum CBLAS_TRANSPOSE {
CblasNoTrans=111, /* trans='N' */
CblasTrans=112, /* trans='T' */
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值