---
title: KmlScaissCsiPcSet?I?
description: "设置迭代求解的预条件子相关参数，当前仅支持为block jacobi预条件子设置相关参数。"
url: https://www.hikunpeng.com/document/detail/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_0891.html
sourcePath: /source/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_0891.html
indexId: 3ee25c597c0ae4af77f5e6fcc92680519f79a654f3ef15c8c8e42008017d960e67
---
# KmlScaissCsiPcSet?I?

设置迭代求解的预条件子相关参数，当前仅支持为block jacobi预条件子设置相关参数。

#### 接口定义

C Interface：

int KmlScaissCsiPcSetSII(KmlScasolverTask **handle, enum KmlSolverPreconditionerParam param, const int *data, int nd);

int KmlScaissCsiPcSetSIS(KmlScasolverTask **handle, enum KmlSolverPreconditionerParam param, const float *data, int nd);

int KmlScaissCsiPcSetDII(KmlScasolverTask **handle, enum KmlSolverPreconditionerParam param, const int *data, int nd);

int KmlScaissCsiPcSetDID(KmlScasolverTask **handle, enum KmlSolverPreconditionerParam param, const double *data, int nd);


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| handle | KmlScasolverTask \*\* | 求解器句柄，传入之前步骤的变量。 | 输入/输出 |
| param | enum KmlSolverParam | KMLSS\_BLOCK\_METHOD表示每个分块中的预条件子类型。 KMLSS\_NUM\_BLOCKS表示每个进程中的分块数量。 KMLSS\_BLOCK\_SIZES表示每个进程中的分块大小。 | 输入 |
| data | 在KmlScaissCsiPcSetSII、KmlScaissCsiPcSetDII中为const int \*。 在KmlScaissCsiPcSetSIS中为const float \*。 在KmlScaissCsiPcSetDID中为const double \*。 | 预条件子相关参数（如预条件子类型、分块数量、分块大小）。 当前可选择的预条件子类型： ILU预条件子：KMLSS\_ILU。 ICC预条件子：KMLSS\_ICC。 SOR预条件子：KMLSS\_SOR。 ILUT预条件子：KMLSS\_ILUT。 | 输入 |
| nd | int | data数组元素个数。 | 输入 |


#### 返回值

| 返回值 | 类型 | 描述 |
| --- | --- | --- |
| KMLSS\_NO\_ERROR | int | 正常执行。 |
| KMLSS\_DATA\_SIZE | int | 参数nd不等于1。 |
| KMLSS\_NULL\_ARGUMENT | int | handle，data中存在空参数。 |
| KMLSS\_BAD\_SELECTOR | int | param为无效参数。 |
| KMLSS\_BAD\_PRECONDITIONER | int | 选择的预条件子暂未实现。 |


#### 依赖

#include "kml_scaiss.h"

示例代码请参见示例。
