我要评分
获取效率
正确性
完整性
易理解

KmlScaissCsiInitStripes?I

Initialize the data structure and associate a provided coefficient matrix with the solution system. Each process uses the local matrix in CSR format when the Csi method for clusters is initialized.

Interface Definition

C interface:

int KmlScaissCsiInitStripesSI(KmlScasolverTask **handle, int n, int nstripes, const int *stripeWidth, const int *stripeRow, const float * const *a, const int * const *ja, const int * const *ia, MPI_Comm comm);

int KmlScaissCsiInitStripesDI(KmlScasolverTask **handle, int n, int nstripes, const int *stripeWidth, const int *stripeRow, const double * const *a, const int * const *ja, const int * const *ia, MPI_Comm comm);

Parameters

Parameter

Type

Description

Input/Output

handle

KmlScasolverTask **

Solver handle. handle cannot be a null pointer.

Input/Output

n

int

Dimension of matrix A.

Input

nstripes

int

Number of matrices stored in the current MPI process. Currently, the value can only be 1.

Input

stripeWidth

int *

Number of rows in the matrix in the current MPI process. The lifecycle of this variable is the same as that of handle.

Input

stripeRow

int *

Global row index of the matrix in the current MPI process, that is, the number of rows corresponding to the first row in the global matrix. The lifecycle of this array is the same as that of handle.

Input

a

  • const float * const * in KmlScaissCsiInitStripesSI
  • const double * const * in KmlScaissCsiInitStripesDI

Array whose dimension corresponds to the number of non-zero elements. a[i] is the value of the i-th non-zero element. The lifecycle of this array is the same as that of handle.

Input

ja

const int * const *

Array whose dimension corresponds to the number of non-zero elements. ja[i] is the column number of the i-th non-zero element. The lifecycle of this array is the same as that of handle.

Input

ia

const int * const *

(stripeWidth+1)-dimensional array. ia[i] is the index of the first non-zero element in the i-th row in all non-zero elements. ia[0]=0. The lifecycle of this array is the same as that of handle.

Input

comm

MPI_Comm

Communicator of the MPI process.

Input

Return Value

Return Value

Type

Description

KMLSS_NO_ERROR

int

Normal execution.

KMLSS_NULL_ARGUMENT

int

A null argument exists in {handle, stripeWidth, stripeRow, a, ja, ia}.

KMLSS_BAD_N

int

The value of parameter n is not a positive integer.

KMLSS_NONZERO_INDEXING

int

The first element of the argument ia is not 0.

KMLSS_NOT_IMPLEMENTED

int

The value of nstripes is not 1.

KMLSS_NO_MEMORY

int

The memory is insufficient.

Dependencies

#include "kml_scaiss.h"

For details about the sample code, see Samples.