---
title: 函数说明
description: "Sparse BLAS Level2/3（CSR格式）函数的命名规则是："
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/240RC2/accel/kunpengaccel_kml_16_0188.html
sourcePath: /source/zh/kunpengboostkithistory/240RC2/accel/kunpengaccel_kml_16_0188.html
indexId: 6fbe4c63c39f5d55b8a801691d4e839e3167c335eca0d19bbc21694e38d550db76
---
# 函数说明

Sparse BLAS Level2/3（CSR格式）函数的命名规则是：

1. kml_sparse_<character><data><operation>
2. kml_sparse_<character><data><mtype><operation>，仅支持基1索引的矩阵
3. kml_csparse_<character><data><mtype><operation>，仅支持基0索引的矩阵

其中，<character>指示数据类型：s（单精度实数浮点型），d（双精度实数浮点型），c（单精度复数），z（双精度复数）

<data>指示存储类型：coo，csr，dia，sky，csc，bsr

<mtype>指示矩阵类型：ge（通用矩阵），sy（对称矩阵），tr（三角矩阵）

<operation>指示矩阵的运算操作


**表1 简易接口（仅支持基1索引）**

| 函数族 | 数据类型 | 描述 |
| --- | --- | --- |
| kml\_sparse\_?csrgemv | s，d，c，z | 矩阵与向量乘积，矩阵是CSR格式（三数组）基1索引的稀疏通常矩阵。 |
| kml\_sparse\_?csrsymv | s，d，c，z | 矩阵与向量乘积，矩阵是CSR格式（三数组）基1索引的稀疏对称矩阵。 |
| kml\_sparse\_?csrtrsv | s，d，c，z | 求解三角矩阵方程组计算，矩阵是CSR格式（三数组）基1索引的稀疏对称矩阵。 |


**表2 简易接口（仅支持基0索引）**

| 函数族 | 数据类型 | 描述 |
| --- | --- | --- |
| kml\_csparse\_?csrgemv | s，d，c，z | 矩阵与向量乘积，矩阵是CSR格式（三数组）基0索引的稀疏通常矩阵。 |
| kml\_csparse\_?csrsymv | s，d，c，z | 矩阵与向量乘积，矩阵是CSR格式（三数组）基0索引的稀疏对称矩阵。 |
| kml\_csparse\_?csrtrsv | s，d，c，z | 求解稀疏三角线性方程组计算，矩阵是CSR格式（三数组）基0索引的稀疏对称矩阵。 |


**表3 通用接口，支持基1索引和基0索引**

| 函数族 | 数据类型 | 描述 |
| --- | --- | --- |
| kml\_sparse\_?csrmv | s，d，c，z | 矩阵与向量乘积，矩阵是CSR格式的稀疏矩阵。 |
| kml\_sparse\_?csrsv | s，d，c，z | 求解稀疏线性方程组，稀疏矩阵存储格式为CSR。 |
| kml\_sparse\_?csrmm | s，d，c，z | 计算CSR格式的稀疏矩阵和稠密矩阵的积。 |
| kml\_sparse\_?cscmv | s，d，c，z | 矩阵与向量乘积，矩阵是CSC格式的稀疏矩阵。 |
| kml\_sparse\_?cscsv | s，d，c，z | 求解稀疏线性方程组，稀疏矩阵存储格式为CSC。 |
| kml\_sparse\_?cscmm | s，d，c，z | 计算CSC格式的稀疏矩阵和稠密矩阵的积。 |
| kml\_sparse\_?csrsm | s，d，c，z | 求解多个右端项的稀疏线性方程组，矩阵是CSR格式。 |
| kml\_sparse\_?cscsm | s，d，c，z | 求解多个右端项的稀疏线性方程组，矩阵是CSC格式。 |


**表4 稀疏矩阵间运算接口**

| 函数族 | 数据类型 | 描述 |
| --- | --- | --- |
| kml\_sparse\_?csradd | s，d，c，z | 矩阵与矩阵相加，矩阵是CSR格式（三数组，矩阵index从1开始）的稀疏矩阵，结构存储在稀疏矩阵。 |
| kml\_sparse\_?csrmultcsr | s，d，c，z | 矩阵与矩阵相乘，矩阵是CSR格式（三数组，矩阵index从1开始）的稀疏矩阵，结果存储在稀疏矩阵。 |
| kml\_sparse\_?csrmultd | s，d，c，z | 矩阵与矩阵相乘，矩阵是CSR格式（三数组，矩阵index从1开始）的稀疏矩阵，结果存储在稠密矩阵。 |


#### matdescra参数取值

matdescra是char指针类型的，包含6个元素（仅使用前4个）。

| 参数 | 取值 |
| --- | --- |
| 参数1 | G：一般矩阵 S：对称矩阵（A=A'） H：埃尔米特矩阵（A=conjg(A')） T：三角矩阵 D：对角矩阵 |
| 参数2 | L：下三角 U：上三角 |
| 参数3 | N：非单元矩阵 U：单元矩阵 |
| 参数4 | F：基1索引（索引值从1计数） C：基0索引（索引值从0计数） |


当前支持的matdescra可能取值如表5所示。


**表5 支持的matdescra可能取值**

| 参数1 | 参数2 | 参数3 | 参数4 |
| --- | --- | --- | --- |
| G | 0（忽略） | 0（忽略） | F或C |
| S或H | L | N | F或C |
| S或H | L | U | F或C |
| S或H | U | N | F或C |
| S或H | U | U | F或C |
| T | L | N | F或C |
| T | L | U | F或C |
| T | U | N | F或C |
| T | U | U | F或C |
| D | 0（忽略） | N | F或C |
| D | 0（忽略） | U | F或C |
