可替换性
KML_BLAS对外提供的接口,与MKL-BLAS的接口参数和函数名完全一致,可以直接替换库使用。
如表1、表2、表3、表4所示为可替换的接口与MKL接口的映射关系。
MKL接口 |
KML对应接口 |
数据类型 |
描述 |
---|---|---|---|
cblas_?asum |
cblas_?asum |
s、d、c、z |
向量元素绝对值求和。 |
cblas_?axpy |
cblas_?axpy |
s、d、c、z |
向量缩放与加和。 |
cblas_?copy |
cblas_?copy |
s、d、c、z |
向量拷贝。 |
cblas_?dot |
cblas_?dot |
s、d |
向量点积。 |
cblas_?sdot |
cblas_?sdot |
s、sd |
扩展精度点积。 |
cblas_?dotc |
cblas_?dotc_sub |
c、z |
共轭向量与另一向量的点积。 |
cblas_?dotu |
cblas_?dotu_sub |
c、z |
复数向量点积。 |
cblas_?nrm2 |
cblas_?nrm2 |
s、d、sc、dz |
计算欧几里得范数。 |
cblas_?rot |
cblas_?rot |
s、d、cs、zd |
基于平面上点旋转。 |
cblas_?rotg |
cblas_?rotg |
s、d |
构造旋转平面。 |
cblas_?rotm |
cblas_?rotm |
s、d |
修改旋转平面。 |
cblas_?rotmg |
cblas_?rotmg |
s、d |
构造修改的转换平面。 |
cblas_?scal |
cblas_?scal |
s、d、c、z、cs、zd |
向量缩放。 |
cblas_?swap |
cblas_?swap |
s、d、c、z |
两个向量元素交换。 |
cblas_i?amin |
cblas_i?amin |
s、d、c、z |
向量中最小绝对值的索引。 |
cblas_i?amax |
cblas_i?amax |
s、d、c、z |
向量中最大绝对值的索引。 |
MKL接口 |
KML对应接口 |
数据类型 |
描述 |
---|---|---|---|
cblas_?gbmv |
cblas_?gbmv |
s、d、c、z |
向量与带状矩阵乘积。 |
cblas_?gemv |
cblas_?gemv |
s、d、c、z |
向量与矩阵乘积。 |
cblas_?ger |
cblas_?ger |
s、d |
一般矩阵秩1更新。 |
cblas_?gerc |
cblas_?gerc |
c、z |
一般复数矩阵秩1更新。 |
cblas_?geru |
cblas_?geru |
c、z |
一般共轭矩阵秩1更新。 |
cblas_?hbmv |
cblas_?hbmv |
c、z |
向量与埃尔米特带状矩阵乘积。 |
cblas_?hemv |
cblas_?hemv |
c、z |
向量与埃尔米特矩阵乘积。 |
cblas_?her |
cblas_?her |
c、z |
复数埃尔米特矩阵秩1更新。 |
cblas_?her2 |
cblas_?her2 |
c、z |
复数埃尔米特矩阵秩2更新。 |
cblas_?hpmv |
cblas_?hpmv |
c、z |
向量与三角展开的埃尔米特矩阵乘积。 |
cblas_?hpr |
cblas_?hpr |
c、z |
三角展开的埃尔米特矩阵秩1更新。 |
cblas_?hpr2 |
cblas_?hpr2 |
c、z |
三角展开的埃尔米特矩阵秩2更新。 |
cblas_?sbmv |
cblas_?sbmv |
s、d |
向量与对称带状矩阵乘积。 |
cblas_?spmv |
cblas_?spmv |
s、d |
向量与压缩的对称矩阵乘积。 |
cblas_?spr |
cblas_?spr |
s、d |
对称展开矩阵秩1更新。 |
cblas_?spr2 |
cblas_?spr2 |
s、d |
对称展开矩阵秩2更新。 |
cblas_?symv |
cblas_?symv |
s、d |
向量与对称矩阵乘积。 |
cblas_?syr |
cblas_?syr |
s、d |
对称矩阵秩1更新。 |
cblas_?syr2 |
cblas_?syr2 |
s、d |
对称矩阵秩2更新。 |
cblas_?tbmv |
cblas_?tbmv |
s、d、c、z |
向量与三角带状矩阵乘积。 |
cblas_?tbsv |
cblas_?tbsv |
s、d、c、z |
线性方程组求解,稀疏矩阵为三角带状矩阵。 |
cblas_?tpmv |
cblas_?tpmv |
s、d、c、z |
向量与压缩的三角矩阵乘积。 |
cblas_?tpsv |
cblas_?tpsv |
s、d、c、z |
线性方程组求解,稀疏矩阵是压缩的三角矩阵。 |
cblas_?trmv |
cblas_?trmv |
s、d、c、z |
向量与三角矩阵乘积。 |
cblas_?trsv |
cblas_?trsv |
s、d、c、z |
线性方程组求解,稀疏矩阵是三角矩阵。 |
MKL接口 |
KML对应接口 |
数据类型 |
描述 |
---|---|---|---|
cblas_?gemm |
cblas_?gemm |
s、d、c、z |
一般矩阵乘矩阵。 |
cblas_?hemm |
cblas_?hemm |
c、z |
复数埃尔米特矩乘矩阵。 |
cblas_?her2k |
cblas_?her2k |
c、z |
复数矩阵乘矩阵秩2更新,输出矩阵C为复数埃尔米特矩阵。 |
cblas_?herk |
cblas_?herk |
c、z |
复数矩阵乘矩阵秩k更新,输出矩阵C为复数埃尔米特矩阵。 |
cblas_?symm |
cblas_?symm |
s、d、c、z |
实数对称矩阵乘矩阵。 |
cblas_?syrk |
cblas_?syrk |
s、d |
矩阵乘矩阵秩k更新,输出矩阵C为对称矩阵。 |
cblas_?syr2k |
cblas_?syr2k |
s、d |
矩阵乘矩阵秩2更新,输出矩阵C为对称矩阵。 |
cblas_?trmm |
cblas_?trmm |
s、d、c、z |
矩阵乘矩阵,其中一个矩阵为三角矩阵。 |
cblas_?trsm |
cblas_?trsm |
s、d、c、z |
三角矩阵方程求解。 |