---
title: KmlScaissCsiSolve?I
description: "求解线性代数方程组，每个进程读取并存储全局求解结果。"
url: https://www.hikunpeng.com/document/detail/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_0895.html
sourcePath: /source/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_0895.html
indexId: 65946fdd8e2c72fff84898511acefa4353824722452e54fd92eef244430aa4cd67
---
# KmlScaissCsiSolve?I

求解线性代数方程组，每个进程读取并存储全局求解结果。

#### 接口定义

C Interface：

int KmlScaissCsiSolveSI(KmlScasolverTask **handle, int nb, float *x, int ldx, const float *b, int ldb);

int KmlScaissCsiSolveDI(KmlScasolverTask **handle, int nb, double *x, int ldx, const double *b, int ldb);


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| handle | KmlScasolverTask \*\* | 求解器句柄，传入之前步骤的变量。 | 输入/输出 |
| nb | int | 右端项矢量的个数，当前nb只能为1。 | 输入 |
| x | 在KmlScaissCsiSolveSI中为float \* 在KmlScaissCsiSolveDI中为double \*。 | 读取并存储全局求解结果，其元素个数为全局矩阵大小n。 | 输入/输出 |
| ldx | int | x的leading dimension大小，当前参数未使用。 | 输入 |
| b | 在KmlScaissCsiSolveSI中为float \* 在KmlScaissCsiSolveDI中为double \*。 | 读取进程对应的局部右端项，其元素个数为当前进程对应的矩阵的行数，即stripeWidth。 | 输入 |
| ldb | int | b的leading dimension大小，当前参数未使用。 | 输入 |


#### 返回值

| 返回值 | 类型 | 描述 |
| --- | --- | --- |
| KMLSS\_NO\_ERROR | int | 正常执行。 |
| KMLSS\_BAD\_NB | int | 参数nb不等于1。 |
| KML\_NO\_MEMORY | int | 内存不足。 |
| KMLSS\_NULL\_ARGUMENT | int | handle，x，b中存在空参数。 |


#### 依赖

#include "kml_scaiss.h"

示例代码请参见示例。
