---
title: 可替换性
description: "KML_BLAS对外提供的接口，与MKL-BLAS的接口参数和函数名完全一致，可以直接替换库使用。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengaccel/math-lib/devg-kml/kunpengaccel_12_0009.html
sourcePath: /source/zh/kunpengaccel/math-lib/devg-kml/kunpengaccel_12_0009.html
indexId: 64180e0feefd504f868212e1a2de7fcc582f0f10b5128e7a5af0b19d7c518f3667
---
# 可替换性

KML_BLAS对外提供的接口，与MKL-BLAS的接口参数和函数名完全一致，可以直接替换库使用。

如表1、表2、表3、表4所示为可替换的接口与MKL接口的映射关系。


**表1 Level1接口的替换映射关系**

| 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 | 向量中最大绝对值的索引。 |


**表2 Level2接口的替换映射关系**

| 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 | 线性方程组求解，稀疏矩阵是三角矩阵。 |


**表3 Level3接口的替换映射关系**

| 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 | 三角矩阵方程求解。 |


**表4 Extension接口的替换映射关系**

| MKL接口 | KML对应接口 | 数据类型 | 描述 |
| --- | --- | --- | --- |
| cblas\_?axpby | cblas\_?axpby | s、d、c、z | 向量分别缩放与加和。 |
| cblas\_?gemm3m | cblas\_?gemm3m | c、z | 一般复数矩阵乘矩阵。 |
