Class CudaSparseContext
Wrapper class for cusparseContext. Provides all fundamental API functions as methods.
Inheritance
Implements
Inherited Members
Namespace: ManagedCuda.CudaSparse
Assembly: CudaSparse.dll
Syntax
public class CudaSparseContext : IDisposable
Constructors
| Improve this Doc View SourceCudaSparseContext()
Creates a new CudaSparseContext
Declaration
public CudaSparseContext()
CudaSparseContext(CUstream)
Creates a new CudaSparseContext and sets the cuda stream to use
Declaration
public CudaSparseContext(CUstream stream)
Parameters
| Type | Name | Description |
|---|---|---|
| CUstream | stream | A valid CUDA stream created with cudaStreamCreate() (or 0 for the default stream) |
Properties
| Improve this Doc View SourceHandle
Returns the wrapped cusparseContext handle
Declaration
public cusparseContext Handle { get; }
Property Value
| Type | Description |
|---|---|
| cusparseContext |
Methods
| Improve this Doc View SourceAxpyi(CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, cusparseIndexBase)
Addition of a scalar multiple of a sparse vector x and a dense vector y
Declaration
public void Axpyi(CudaDeviceVariable<cuDoubleComplex> alpha, CudaDeviceVariable<cuDoubleComplex> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<cuDoubleComplex> y, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<cuDoubleComplex> | alpha | scalar used for multiplication. |
| CudaDeviceVariable<cuDoubleComplex> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuDoubleComplex> | y | vector in dense format. |
| cusparseIndexBase | idxBase | Index base. |
Axpyi(CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, cusparseIndexBase)
Addition of a scalar multiple of a sparse vector x and a dense vector y
Declaration
public void Axpyi(CudaDeviceVariable<cuFloatComplex> alpha, CudaDeviceVariable<cuFloatComplex> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<cuFloatComplex> y, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<cuFloatComplex> | alpha | scalar used for multiplication. |
| CudaDeviceVariable<cuFloatComplex> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuFloatComplex> | y | vector in dense format. |
| cusparseIndexBase | idxBase | Index base. |
Axpyi(CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, cusparseIndexBase)
Addition of a scalar multiple of a sparse vector x and a dense vector y
Declaration
public void Axpyi(CudaDeviceVariable<double> alpha, CudaDeviceVariable<double> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<double> y, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<System.Double> | alpha | scalar used for multiplication. |
| CudaDeviceVariable<System.Double> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Double> | y | vector in dense format. |
| cusparseIndexBase | idxBase | Index base. |
Axpyi(CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, cusparseIndexBase)
Addition of a scalar multiple of a sparse vector x and a dense vector y
Declaration
public void Axpyi(CudaDeviceVariable<float> alpha, CudaDeviceVariable<float> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<float> y, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<System.Single> | alpha | scalar used for multiplication. |
| CudaDeviceVariable<System.Single> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Single> | y | vector in dense format. |
| cusparseIndexBase | idxBase | Index base. |
Axpyi(cuDoubleComplex, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, cusparseIndexBase)
Addition of a scalar multiple of a sparse vector x and a dense vector y
Declaration
public void Axpyi(cuDoubleComplex alpha, CudaDeviceVariable<cuDoubleComplex> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<cuDoubleComplex> y, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| cuDoubleComplex | alpha | scalar used for multiplication. |
| CudaDeviceVariable<cuDoubleComplex> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuDoubleComplex> | y | vector in dense format. |
| cusparseIndexBase | idxBase | Index base. |
Axpyi(cuFloatComplex, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, cusparseIndexBase)
Addition of a scalar multiple of a sparse vector x and a dense vector y
Declaration
public void Axpyi(cuFloatComplex alpha, CudaDeviceVariable<cuFloatComplex> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<cuFloatComplex> y, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| cuFloatComplex | alpha | scalar used for multiplication. |
| CudaDeviceVariable<cuFloatComplex> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuFloatComplex> | y | vector in dense format. |
| cusparseIndexBase | idxBase | Index base. |
Axpyi(Double, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, cusparseIndexBase)
Addition of a scalar multiple of a sparse vector x and a dense vector y
Declaration
public void Axpyi(double alpha, CudaDeviceVariable<double> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<double> y, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | alpha | scalar used for multiplication. |
| CudaDeviceVariable<System.Double> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Double> | y | vector in dense format. |
| cusparseIndexBase | idxBase | Index base. |
Axpyi(Single, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, cusparseIndexBase)
Addition of a scalar multiple of a sparse vector x and a dense vector y
Declaration
public void Axpyi(float alpha, CudaDeviceVariable<float> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<float> y, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Single | alpha | scalar used for multiplication. |
| CudaDeviceVariable<System.Single> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Single> | y | vector in dense format. |
| cusparseIndexBase | idxBase | Index base. |
Bsr2csr(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function converts a sparse matrix in BSR format (that is defined by the three arrays bsrValA, bsrRowPtrA and bsrColIndA) into a sparse matrix in CSR format (that is defined by arrays csrValC, csrRowPtrC, and csrColIndC).
Declaration
public void Bsr2csr(cusparseDirection dirA, int mb, int nb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<cuDoubleComplex> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of sparse matrix A. The number of rows of sparse matrix C is m(= mb*blockDim). |
| System.Int32 | nb | number of block columns of sparse matrix A. The number of columns of sparse matrix C is n(= nb*blockDim). |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | bsrValA | array of nnzb*blockDim² non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb column indices of the non-zero blocks of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. |
| CudaDeviceVariable<cuDoubleComplex> | csrValC | array of nnz (= csrRowPtrC(m) - csrRowPtrC(0)) non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndC | integer array of nnz column indices of the non-zero elements of matrix C. |
Bsr2csr(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function converts a sparse matrix in BSR format (that is defined by the three arrays bsrValA, bsrRowPtrA and bsrColIndA) into a sparse matrix in CSR format (that is defined by arrays csrValC, csrRowPtrC, and csrColIndC).
Declaration
public void Bsr2csr(cusparseDirection dirA, int mb, int nb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<cuFloatComplex> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of sparse matrix A. The number of rows of sparse matrix C is m(= mb*blockDim). |
| System.Int32 | nb | number of block columns of sparse matrix A. The number of columns of sparse matrix C is n(= nb*blockDim). |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | bsrValA | array of nnzb*blockDim² non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb column indices of the non-zero blocks of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. |
| CudaDeviceVariable<cuFloatComplex> | csrValC | array of nnz (= csrRowPtrC(m) - csrRowPtrC(0)) non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndC | integer array of nnz column indices of the non-zero elements of matrix C. |
Bsr2csr(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function converts a sparse matrix in BSR format (that is defined by the three arrays bsrValA, bsrRowPtrA and bsrColIndA) into a sparse matrix in CSR format (that is defined by arrays csrValC, csrRowPtrC, and csrColIndC).
Declaration
public void Bsr2csr(cusparseDirection dirA, int mb, int nb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of sparse matrix A. The number of rows of sparse matrix C is m(= mb*blockDim). |
| System.Int32 | nb | number of block columns of sparse matrix A. The number of columns of sparse matrix C is n(= nb*blockDim). |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. |
| CudaDeviceVariable<System.Double> | bsrValA | array of nnzb*blockDim² non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb column indices of the non-zero blocks of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. |
| CudaDeviceVariable<System.Double> | csrValC | array of nnz (= csrRowPtrC(m) - csrRowPtrC(0)) non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndC | integer array of nnz column indices of the non-zero elements of matrix C. |
Bsr2csr(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function converts a sparse matrix in BSR format (that is defined by the three arrays bsrValA, bsrRowPtrA and bsrColIndA) into a sparse matrix in CSR format (that is defined by arrays csrValC, csrRowPtrC, and csrColIndC).
Declaration
public void Bsr2csr(cusparseDirection dirA, int mb, int nb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of sparse matrix A. The number of rows of sparse matrix C is m(= mb*blockDim). |
| System.Int32 | nb | number of block columns of sparse matrix A. The number of columns of sparse matrix C is n(= nb*blockDim). |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. |
| CudaDeviceVariable<System.Single> | bsrValA | array of nnzb*blockDim² non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb column indices of the non-zero blocks of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. |
| CudaDeviceVariable<System.Single> | csrValC | array of nnz (= csrRowPtrC(m) - csrRowPtrC(0)) non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndC | integer array of nnz column indices of the non-zero elements of matrix C. |
Bsric02(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsric02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public void Bsric02(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrValA_ValM, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsric02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | bsrValA_ValM | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. Output: matrix containing the incomplete-LU lower and upper triangular factors. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsric02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
Bsric02(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsric02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public void Bsric02(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrValA_ValM, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsric02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | bsrValA_ValM | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. Output: matrix containing the incomplete-LU lower and upper triangular factors. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsric02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
Bsric02(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsric02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public void Bsric02(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrValA_ValM, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsric02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | bsrValA_ValM | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. Output: matrix containing the incomplete-LU lower and upper triangular factors. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsric02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
Bsric02(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsric02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public void Bsric02(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrValA_ValM, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsric02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | bsrValA_ValM | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. Output: matrix containing the incomplete-LU lower and upper triangular factors. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsric02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
Bsric02Analysis(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsric02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public void Bsric02Analysis(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsric02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | bsrValA | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsric02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
Bsric02Analysis(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsric02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public void Bsric02Analysis(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsric02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | bsrValA | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsric02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
Bsric02Analysis(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsric02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public void Bsric02Analysis(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsric02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | bsrValA | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsric02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
Bsric02Analysis(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsric02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public void Bsric02Analysis(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsric02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | bsrValA | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsric02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
Bsric02BufferSize(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsric02Info)
This function returns size of buffer used in computing the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public SizeT Bsric02BufferSize(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsric02Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | bsrValA | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsric02Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Bsric02BufferSize(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsric02Info)
This function returns size of buffer used in computing the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public SizeT Bsric02BufferSize(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsric02Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | bsrValA | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsric02Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Bsric02BufferSize(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsric02Info)
This function returns size of buffer used in computing the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public SizeT Bsric02BufferSize(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsric02Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | bsrValA | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsric02Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Bsric02BufferSize(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsric02Info)
This function returns size of buffer used in computing the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public SizeT Bsric02BufferSize(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsric02Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | bsrValA | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsric02Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Bsric02ZeroPivot(CudaSparseBsric02Info, CudaDeviceVariable<Int32>)
If the returned error code is CUSPARSE_STATUS_ZERO_PIVOT, position=j means A(j,j) has either a structural zero or a numerical zero. Otherwise position=-1.
The position can be 0-based or 1-based, the same as the matrix.
Function cusparseXbsrsv2_zeroPivot() is a blocking call. It calls cudaDeviceSynchronize() to make sure all previous kernels are done.
The position can be in the host memory or device memory. The user can set the proper mode with cusparseSetPointerMode().
Declaration
public bool Bsric02ZeroPivot(CudaSparseBsric02Info info, CudaDeviceVariable<int> position)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseBsric02Info | info | info contains structural zero or numerical zero if the user already called bsrsv2_analysis() or bsrsv2_solve(). |
| CudaDeviceVariable<System.Int32> | position | if no structural or numerical zero, position is -1; otherwise, if A(j,j) is missing or U(j,j) is zero, position=j. |
Returns
| Type | Description |
|---|---|
| System.Boolean | If true, position=j means A(j,j) has either a structural zero or a numerical zero; otherwise, position=-1. |
Bsric02ZeroPivot(CudaSparseBsric02Info, ref Int32)
If the returned error code is CUSPARSE_STATUS_ZERO_PIVOT, position=j means A(j,j) has either a structural zero or a numerical zero. Otherwise position=-1.
The position can be 0-based or 1-based, the same as the matrix.
Function cusparseXbsrsv2_zeroPivot() is a blocking call. It calls cudaDeviceSynchronize() to make sure all previous kernels are done.
The position can be in the host memory or device memory. The user can set the proper mode with cusparseSetPointerMode().
Declaration
public bool Bsric02ZeroPivot(CudaSparseBsric02Info info, ref int position)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseBsric02Info | info | info contains structural zero or numerical zero if the user already called bsrsv2_analysis() or bsrsv2_solve(). |
| System.Int32 | position | if no structural or numerical zero, position is -1; otherwise, if A(j,j) is missing or U(j,j) is zero, position=j. |
Returns
| Type | Description |
|---|---|
| System.Boolean | If true, position=j means A(j,j) has either a structural zero or a numerical zero; otherwise, position=-1. |
Bsrilu02(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrilu02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the incomplete-LU factorization with fill-in and no pivoting: A = LU
Declaration
public void Bsrilu02(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrValA_ValM, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrilu02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | bsrValA_ValM | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. Output: matrix containing the incomplete-LU lower and upper triangular factors. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsrilu02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
Bsrilu02(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrilu02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the incomplete-LU factorization with fill-in and no pivoting: A = LU
Declaration
public void Bsrilu02(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrValA_ValM, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrilu02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | bsrValA_ValM | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. Output: matrix containing the incomplete-LU lower and upper triangular factors. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsrilu02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
Bsrilu02(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrilu02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the incomplete-LU factorization with fill-in and no pivoting: A = LU
Declaration
public void Bsrilu02(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrValA_ValM, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrilu02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | bsrValA_ValM | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. Output: matrix containing the incomplete-LU lower and upper triangular factors. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsrilu02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
Bsrilu02(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrilu02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the incomplete-LU factorization with fill-in and no pivoting: A = LU
Declaration
public void Bsrilu02(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrValA_ValM, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrilu02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | bsrValA_ValM | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. Output: matrix containing the incomplete-LU lower and upper triangular factors. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsrilu02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
Bsrilu02Analysis(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrilu02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of the incomplete-LU factorization with fillin and no pivoting: A = LU
Declaration
public void Bsrilu02Analysis(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrilu02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | bsrValA | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsrilu02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
Bsrilu02Analysis(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrilu02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of the incomplete-LU factorization with fillin and no pivoting: A = LU
Declaration
public void Bsrilu02Analysis(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrilu02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | bsrValA | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsrilu02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
Bsrilu02Analysis(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrilu02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of the incomplete-LU factorization with fillin and no pivoting: A = LU
Declaration
public void Bsrilu02Analysis(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrilu02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | bsrValA | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsrilu02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
Bsrilu02Analysis(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrilu02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of the incomplete-LU factorization with 0 fillin and no pivoting: A = LU
Declaration
public void Bsrilu02Analysis(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrilu02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | bsrValA | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsrilu02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
Bsrilu02BufferSize(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrilu02Info)
This function returns size of the buffer used in computing the incomplete-LU factorization with fill-in and no pivoting: A = LU
Declaration
public SizeT Bsrilu02BufferSize(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrilu02Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | bsrValA | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsrilu02Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Bsrilu02BufferSize(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrilu02Info)
This function returns size of the buffer used in computing the incomplete-LU factorization with fill-in and no pivoting: A = LU
Declaration
public SizeT Bsrilu02BufferSize(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrilu02Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | bsrValA | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsrilu02Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Bsrilu02BufferSize(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrilu02Info)
This function returns size of the buffer used in computing the incomplete-LU factorization with fill-in and no pivoting: A = LU
Declaration
public SizeT Bsrilu02BufferSize(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrilu02Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | bsrValA | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsrilu02Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Bsrilu02BufferSize(cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrilu02Info)
This function returns size of the buffer used in computing the incomplete-LU factorization with fill-in and no pivoting: A = LU
Declaration
public SizeT Bsrilu02BufferSize(cusparseDirection dirA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrilu02Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | bsrValA | array of nnz (= bsrRowPtrA(m)-bsrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnz (= bsrRowPtrA(m) - bsrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of bsrColIndA gives the number nzz passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsrilu02Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Bsrilu02NumericBoost(bsrilu02Info, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<cuDoubleComplex>)
The user can use a boost value to replace a numerical value in incomplete LU factorization. The tol is used to determine a numerical zero, and the boost_val is used to replace a numerical zero. The behavior is
if tol >= fabs(A(j,j)), then A(j,j)=boost_val.
To enable a boost value, the user has to set parameter enable_boost to 1 before calling bsrilu02(). To disable a boost value, the user can call bsrilu02_numericBoost() again with parameter enable_boost=0.
If enable_boost=0, tol and boost_val are ignored.
Declaration
public void Bsrilu02NumericBoost(bsrilu02Info info, int enable_boost, CudaDeviceVariable<double> tol, CudaDeviceVariable<cuDoubleComplex> boost_val)
Parameters
| Type | Name | Description |
|---|---|---|
| bsrilu02Info | info | structure initialized using cusparseCreateBsrilu02Info(). |
| System.Int32 | enable_boost | disable boost by enable_boost=0; otherwise, boost is enabled. |
| CudaDeviceVariable<System.Double> | tol | tolerance to determine a numerical zero. |
| CudaDeviceVariable<cuDoubleComplex> | boost_val | boost value to replace a numerical zero. |
Bsrilu02NumericBoost(bsrilu02Info, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<cuFloatComplex>)
The user can use a boost value to replace a numerical value in incomplete LU factorization. The tol is used to determine a numerical zero, and the boost_val is used to replace a numerical zero. The behavior is
if tol >= fabs(A(j,j)), then A(j,j)=boost_val.
To enable a boost value, the user has to set parameter enable_boost to 1 before calling bsrilu02(). To disable a boost value, the user can call bsrilu02_numericBoost() again with parameter enable_boost=0.
If enable_boost=0, tol and boost_val are ignored.
Declaration
public void Bsrilu02NumericBoost(bsrilu02Info info, int enable_boost, CudaDeviceVariable<double> tol, CudaDeviceVariable<cuFloatComplex> boost_val)
Parameters
| Type | Name | Description |
|---|---|---|
| bsrilu02Info | info | structure initialized using cusparseCreateBsrilu02Info(). |
| System.Int32 | enable_boost | disable boost by enable_boost=0; otherwise, boost is enabled. |
| CudaDeviceVariable<System.Double> | tol | tolerance to determine a numerical zero. |
| CudaDeviceVariable<cuFloatComplex> | boost_val | boost value to replace a numerical zero. |
Bsrilu02NumericBoost(bsrilu02Info, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>)
The user can use a boost value to replace a numerical value in incomplete LU factorization. The tol is used to determine a numerical zero, and the boost_val is used to replace a numerical zero. The behavior is
if tol >= fabs(A(j,j)), then A(j,j)=boost_val.
To enable a boost value, the user has to set parameter enable_boost to 1 before calling bsrilu02(). To disable a boost value, the user can call bsrilu02_numericBoost() again with parameter enable_boost=0.
If enable_boost=0, tol and boost_val are ignored.
Declaration
public void Bsrilu02NumericBoost(bsrilu02Info info, int enable_boost, CudaDeviceVariable<double> tol, CudaDeviceVariable<double> boost_val)
Parameters
| Type | Name | Description |
|---|---|---|
| bsrilu02Info | info | structure initialized using cusparseCreateBsrilu02Info(). |
| System.Int32 | enable_boost | disable boost by enable_boost=0; otherwise, boost is enabled. |
| CudaDeviceVariable<System.Double> | tol | tolerance to determine a numerical zero. |
| CudaDeviceVariable<System.Double> | boost_val | boost value to replace a numerical zero. |
Bsrilu02NumericBoost(bsrilu02Info, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Single>)
The user can use a boost value to replace a numerical value in incomplete LU factorization. The tol is used to determine a numerical zero, and the boost_val is used to replace a numerical zero. The behavior is
if tol >= fabs(A(j,j)), then A(j,j)=boost_val.
To enable a boost value, the user has to set parameter enable_boost to 1 before calling bsrilu02(). To disable a boost value, the user can call bsrilu02_numericBoost() again with parameter enable_boost=0.
If enable_boost=0, tol and boost_val are ignored.
Declaration
public void Bsrilu02NumericBoost(bsrilu02Info info, int enable_boost, CudaDeviceVariable<double> tol, CudaDeviceVariable<float> boost_val)
Parameters
| Type | Name | Description |
|---|---|---|
| bsrilu02Info | info | structure initialized using cusparseCreateBsrilu02Info(). |
| System.Int32 | enable_boost | disable boost by enable_boost=0; otherwise, boost is enabled. |
| CudaDeviceVariable<System.Double> | tol | tolerance to determine a numerical zero. |
| CudaDeviceVariable<System.Single> | boost_val | boost value to replace a numerical zero. |
Bsrilu02NumericBoost(bsrilu02Info, Int32, ref Double, ref cuDoubleComplex)
The user can use a boost value to replace a numerical value in incomplete LU factorization. The tol is used to determine a numerical zero, and the boost_val is used to replace a numerical zero. The behavior is
if tol >= fabs(A(j,j)), then A(j,j)=boost_val.
To enable a boost value, the user has to set parameter enable_boost to 1 before calling bsrilu02(). To disable a boost value, the user can call bsrilu02_numericBoost() again with parameter enable_boost=0.
If enable_boost=0, tol and boost_val are ignored.
Declaration
public void Bsrilu02NumericBoost(bsrilu02Info info, int enable_boost, ref double tol, ref cuDoubleComplex boost_val)
Parameters
| Type | Name | Description |
|---|---|---|
| bsrilu02Info | info | structure initialized using cusparseCreateBsrilu02Info(). |
| System.Int32 | enable_boost | disable boost by enable_boost=0; otherwise, boost is enabled. |
| System.Double | tol | tolerance to determine a numerical zero. |
| cuDoubleComplex | boost_val | boost value to replace a numerical zero. |
Bsrilu02NumericBoost(bsrilu02Info, Int32, ref Double, ref cuFloatComplex)
The user can use a boost value to replace a numerical value in incomplete LU factorization. The tol is used to determine a numerical zero, and the boost_val is used to replace a numerical zero. The behavior is
if tol >= fabs(A(j,j)), then A(j,j)=boost_val.
To enable a boost value, the user has to set parameter enable_boost to 1 before calling bsrilu02(). To disable a boost value, the user can call bsrilu02_numericBoost() again with parameter enable_boost=0.
If enable_boost=0, tol and boost_val are ignored.
Declaration
public void Bsrilu02NumericBoost(bsrilu02Info info, int enable_boost, ref double tol, ref cuFloatComplex boost_val)
Parameters
| Type | Name | Description |
|---|---|---|
| bsrilu02Info | info | structure initialized using cusparseCreateBsrilu02Info(). |
| System.Int32 | enable_boost | disable boost by enable_boost=0; otherwise, boost is enabled. |
| System.Double | tol | tolerance to determine a numerical zero. |
| cuFloatComplex | boost_val | boost value to replace a numerical zero. |
Bsrilu02NumericBoost(bsrilu02Info, Int32, ref Double, ref Double)
The user can use a boost value to replace a numerical value in incomplete LU factorization. The tol is used to determine a numerical zero, and the boost_val is used to replace a numerical zero. The behavior is
if tol >= fabs(A(j,j)), then A(j,j)=boost_val.
To enable a boost value, the user has to set parameter enable_boost to 1 before calling bsrilu02(). To disable a boost value, the user can call bsrilu02_numericBoost() again with parameter enable_boost=0.
If enable_boost=0, tol and boost_val are ignored.
Declaration
public void Bsrilu02NumericBoost(bsrilu02Info info, int enable_boost, ref double tol, ref double boost_val)
Parameters
| Type | Name | Description |
|---|---|---|
| bsrilu02Info | info | structure initialized using cusparseCreateBsrilu02Info(). |
| System.Int32 | enable_boost | disable boost by enable_boost=0; otherwise, boost is enabled. |
| System.Double | tol | tolerance to determine a numerical zero. |
| System.Double | boost_val | boost value to replace a numerical zero. |
Bsrilu02NumericBoost(bsrilu02Info, Int32, ref Double, ref Single)
The user can use a boost value to replace a numerical value in incomplete LU factorization. The tol is used to determine a numerical zero, and the boost_val is used to replace a numerical zero. The behavior is
if tol >= fabs(A(j,j)), then A(j,j)=boost_val.
To enable a boost value, the user has to set parameter enable_boost to 1 before calling bsrilu02(). To disable a boost value, the user can call bsrilu02_numericBoost() again with parameter enable_boost=0.
If enable_boost=0, tol and boost_val are ignored.
Declaration
public void Bsrilu02NumericBoost(bsrilu02Info info, int enable_boost, ref double tol, ref float boost_val)
Parameters
| Type | Name | Description |
|---|---|---|
| bsrilu02Info | info | structure initialized using cusparseCreateBsrilu02Info(). |
| System.Int32 | enable_boost | disable boost by enable_boost=0; otherwise, boost is enabled. |
| System.Double | tol | tolerance to determine a numerical zero. |
| System.Single | boost_val | boost value to replace a numerical zero. |
Bsrilu02ZeroPivot(CudaSparseBsrilu02Info, CudaDeviceVariable<Int32>)
If the returned error code is CUSPARSE_STATUS_ZERO_PIVOT, position=j means A(j,j) has either a structural zero or a numerical zero. Otherwise position=-1.
The position can be 0-based or 1-based, the same as the matrix.
Function cusparseXbsrsv2_zeroPivot() is a blocking call. It calls cudaDeviceSynchronize() to make sure all previous kernels are done.
The position can be in the host memory or device memory. The user can set the proper mode with cusparseSetPointerMode().
Declaration
public bool Bsrilu02ZeroPivot(CudaSparseBsrilu02Info info, CudaDeviceVariable<int> position)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseBsrilu02Info | info | info contains structural zero or numerical zero if the user already called bsrsv2_analysis() or bsrsv2_solve(). |
| CudaDeviceVariable<System.Int32> | position | if no structural or numerical zero, position is -1; otherwise, if A(j,j) is missing or U(j,j) is zero, position=j. |
Returns
| Type | Description |
|---|---|
| System.Boolean | If true, position=j means A(j,j) has either a structural zero or a numerical zero; otherwise, position=-1. |
Bsrilu02ZeroPivot(CudaSparseBsrilu02Info, ref Int32)
If the returned error code is CUSPARSE_STATUS_ZERO_PIVOT, position=j means A(j,j) has either a structural zero or a numerical zero. Otherwise position=-1.
The position can be 0-based or 1-based, the same as the matrix.
Function cusparseXbsrsv2_zeroPivot() is a blocking call. It calls cudaDeviceSynchronize() to make sure all previous kernels are done.
The position can be in the host memory or device memory. The user can set the proper mode with cusparseSetPointerMode().
Declaration
public bool Bsrilu02ZeroPivot(CudaSparseBsrilu02Info info, ref int position)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseBsrilu02Info | info | info contains structural zero or numerical zero if the user already called bsrsv2_analysis() or bsrsv2_solve(). |
| System.Int32 | position | if no structural or numerical zero, position is -1; otherwise, if A(j,j) is missing or U(j,j) is zero, position=j. |
Returns
| Type | Description |
|---|---|
| System.Boolean | If true, position=j means A(j,j) has either a structural zero or a numerical zero; otherwise, position=-1. |
Bsrmm(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, Int32)
This function performs one of the following matrix-matrix operations: C = alpha * op(A) * op(B) + beta * C
Declaration
public void Bsrmm(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transB, int mb, int n, int kb, int nnzb, CudaDeviceVariable<cuDoubleComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockSize, CudaDeviceVariable<cuDoubleComplex> B, int ldb, CudaDeviceVariable<cuDoubleComplex> beta, CudaDeviceVariable<cuDoubleComplex> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transB | the operation op(B). |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | n | number of columns of dense matrix op(B) and A. |
| System.Int32 | kb | number of block columns of sparse matrix A. |
| System.Int32 | nnzb | number of non-zero blocks of sparse matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | bsrValA | array of nnzb ( = bsrRowPtrA(mb) - bsrRowPtrA(0) ) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb + 1elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb ( =bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A, larger than zero. |
| CudaDeviceVariable<cuDoubleComplex> | B | array of dimensions (ldb, n) if op(B)=B and (ldb, k) otherwise. |
| System.Int32 | ldb | leading dimension of B. If op(B)=B, it must be at least max(l,k) If op(B) != B, it must be at least max(1, n). |
| CudaDeviceVariable<cuDoubleComplex> | beta | scalar used for multiplication. If beta is zero, C does not have to be a valid input. |
| CudaDeviceVariable<cuDoubleComplex> | C | array of dimensions (ldc, n). |
| System.Int32 | ldc | leading dimension of C. It must be at least max(l,m) if op(A)=A and at least max(l,k) otherwise. |
Bsrmm(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, Int32)
This function performs one of the following matrix-matrix operations: C = alpha * op(A) * op(B) + beta * C
Declaration
public void Bsrmm(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transB, int mb, int n, int kb, int nnzb, CudaDeviceVariable<cuFloatComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockSize, CudaDeviceVariable<cuFloatComplex> B, int ldb, CudaDeviceVariable<cuFloatComplex> beta, CudaDeviceVariable<cuFloatComplex> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transB | the operation op(B). |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | n | number of columns of dense matrix op(B) and A. |
| System.Int32 | kb | number of block columns of sparse matrix A. |
| System.Int32 | nnzb | number of non-zero blocks of sparse matrix A. |
| CudaDeviceVariable<cuFloatComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | bsrValA | array of nnzb ( = bsrRowPtrA(mb) - bsrRowPtrA(0) ) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb + 1elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb ( =bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A, larger than zero. |
| CudaDeviceVariable<cuFloatComplex> | B | array of dimensions (ldb, n) if op(B)=B and (ldb, k) otherwise. |
| System.Int32 | ldb | leading dimension of B. If op(B)=B, it must be at least max(l,k) If op(B) != B, it must be at least max(1, n). |
| CudaDeviceVariable<cuFloatComplex> | beta | scalar used for multiplication. If beta is zero, C does not have to be a valid input. |
| CudaDeviceVariable<cuFloatComplex> | C | array of dimensions (ldc, n). |
| System.Int32 | ldc | leading dimension of C. It must be at least max(l,m) if op(A)=A and at least max(l,k) otherwise. |
Bsrmm(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, Int32, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, Int32)
This function performs one of the following matrix-matrix operations: C = alpha * op(A) * op(B) + beta * C
Declaration
public void Bsrmm(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transB, int mb, int n, int kb, int nnzb, CudaDeviceVariable<double> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockSize, CudaDeviceVariable<double> B, int ldb, CudaDeviceVariable<double> beta, CudaDeviceVariable<double> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transB | the operation op(B). |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | n | number of columns of dense matrix op(B) and A. |
| System.Int32 | kb | number of block columns of sparse matrix A. |
| System.Int32 | nnzb | number of non-zero blocks of sparse matrix A. |
| CudaDeviceVariable<System.Double> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | bsrValA | array of nnzb ( = bsrRowPtrA(mb) - bsrRowPtrA(0) ) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb + 1elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb ( =bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A, larger than zero. |
| CudaDeviceVariable<System.Double> | B | array of dimensions (ldb, n) if op(B)=B and (ldb, k) otherwise. |
| System.Int32 | ldb | leading dimension of B. If op(B)=B, it must be at least max(l,k) If op(B) != B, it must be at least max(1, n). |
| CudaDeviceVariable<System.Double> | beta | scalar used for multiplication. If beta is zero, C does not have to be a valid input. |
| CudaDeviceVariable<System.Double> | C | array of dimensions (ldc, n). |
| System.Int32 | ldc | leading dimension of C. It must be at least max(l,m) if op(A)=A and at least max(l,k) otherwise. |
Bsrmm(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, Int32, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, Int32)
This function performs one of the following matrix-matrix operations: C = alpha * op(A) * op(B) + beta * C
Declaration
public void Bsrmm(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transB, int mb, int n, int kb, int nnzb, CudaDeviceVariable<float> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockSize, CudaDeviceVariable<float> B, int ldb, CudaDeviceVariable<float> beta, CudaDeviceVariable<float> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transB | the operation op(B). |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | n | number of columns of dense matrix op(B) and A. |
| System.Int32 | kb | number of block columns of sparse matrix A. |
| System.Int32 | nnzb | number of non-zero blocks of sparse matrix A. |
| CudaDeviceVariable<System.Single> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | bsrValA | array of nnzb ( = bsrRowPtrA(mb) - bsrRowPtrA(0) ) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb + 1elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb ( =bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A, larger than zero. |
| CudaDeviceVariable<System.Single> | B | array of dimensions (ldb, n) if op(B)=B and (ldb, k) otherwise. |
| System.Int32 | ldb | leading dimension of B. If op(B)=B, it must be at least max(l,k) If op(B) != B, it must be at least max(1, n). |
| CudaDeviceVariable<System.Single> | beta | scalar used for multiplication. If beta is zero, C does not have to be a valid input. |
| CudaDeviceVariable<System.Single> | C | array of dimensions (ldc, n). |
| System.Int32 | ldc | leading dimension of C. It must be at least max(l,m) if op(A)=A and at least max(l,k) otherwise. |
Bsrmm(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, Int32, cuDoubleComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32, cuDoubleComplex, CudaDeviceVariable<cuDoubleComplex>, Int32)
This function performs one of the following matrix-matrix operations: C = alpha * op(A) * op(B) + beta * C
Declaration
public void Bsrmm(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transB, int mb, int n, int kb, int nnzb, cuDoubleComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockSize, CudaDeviceVariable<cuDoubleComplex> B, int ldb, cuDoubleComplex beta, CudaDeviceVariable<cuDoubleComplex> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transB | the operation op(B). |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | n | number of columns of dense matrix op(B) and A. |
| System.Int32 | kb | number of block columns of sparse matrix A. |
| System.Int32 | nnzb | number of non-zero blocks of sparse matrix A. |
| cuDoubleComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | bsrValA | array of nnzb ( = bsrRowPtrA(mb) - bsrRowPtrA(0) ) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb + 1elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb ( =bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A, larger than zero. |
| CudaDeviceVariable<cuDoubleComplex> | B | array of dimensions (ldb, n) if op(B)=B and (ldb, k) otherwise. |
| System.Int32 | ldb | leading dimension of B. If op(B)=B, it must be at least max(l,k) If op(B) != B, it must be at least max(1, n). |
| cuDoubleComplex | beta | scalar used for multiplication. If beta is zero, C does not have to be a valid input. |
| CudaDeviceVariable<cuDoubleComplex> | C | array of dimensions (ldc, n). |
| System.Int32 | ldc | leading dimension of C. It must be at least max(l,m) if op(A)=A and at least max(l,k) otherwise. |
Bsrmm(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, Int32, cuFloatComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<cuFloatComplex>, Int32, cuFloatComplex, CudaDeviceVariable<cuFloatComplex>, Int32)
This function performs one of the following matrix-matrix operations: C = alpha * op(A) * op(B) + beta * C
Declaration
public void Bsrmm(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transB, int mb, int n, int kb, int nnzb, cuFloatComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockSize, CudaDeviceVariable<cuFloatComplex> B, int ldb, cuFloatComplex beta, CudaDeviceVariable<cuFloatComplex> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transB | the operation op(B). |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | n | number of columns of dense matrix op(B) and A. |
| System.Int32 | kb | number of block columns of sparse matrix A. |
| System.Int32 | nnzb | number of non-zero blocks of sparse matrix A. |
| cuFloatComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | bsrValA | array of nnzb ( = bsrRowPtrA(mb) - bsrRowPtrA(0) ) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb + 1elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb ( =bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A, larger than zero. |
| CudaDeviceVariable<cuFloatComplex> | B | array of dimensions (ldb, n) if op(B)=B and (ldb, k) otherwise. |
| System.Int32 | ldb | leading dimension of B. If op(B)=B, it must be at least max(l,k) If op(B) != B, it must be at least max(1, n). |
| cuFloatComplex | beta | scalar used for multiplication. If beta is zero, C does not have to be a valid input. |
| CudaDeviceVariable<cuFloatComplex> | C | array of dimensions (ldc, n). |
| System.Int32 | ldc | leading dimension of C. It must be at least max(l,m) if op(A)=A and at least max(l,k) otherwise. |
Bsrmm(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, Int32, Double, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<Double>, Int32, Double, CudaDeviceVariable<Double>, Int32)
This function performs one of the following matrix-matrix operations: C = alpha * op(A) * op(B) + beta * C
Declaration
public void Bsrmm(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transB, int mb, int n, int kb, int nnzb, double alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockSize, CudaDeviceVariable<double> B, int ldb, double beta, CudaDeviceVariable<double> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transB | the operation op(B). |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | n | number of columns of dense matrix op(B) and A. |
| System.Int32 | kb | number of block columns of sparse matrix A. |
| System.Int32 | nnzb | number of non-zero blocks of sparse matrix A. |
| System.Double | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | bsrValA | array of nnzb ( = bsrRowPtrA(mb) - bsrRowPtrA(0) ) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb + 1elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb ( =bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A, larger than zero. |
| CudaDeviceVariable<System.Double> | B | array of dimensions (ldb, n) if op(B)=B and (ldb, k) otherwise. |
| System.Int32 | ldb | leading dimension of B. If op(B)=B, it must be at least max(l,k) If op(B) != B, it must be at least max(1, n). |
| System.Double | beta | scalar used for multiplication. If beta is zero, C does not have to be a valid input. |
| CudaDeviceVariable<System.Double> | C | array of dimensions (ldc, n). |
| System.Int32 | ldc | leading dimension of C. It must be at least max(l,m) if op(A)=A and at least max(l,k) otherwise. |
Bsrmm(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<Single>, Int32, Single, CudaDeviceVariable<Single>, Int32)
This function performs one of the following matrix-matrix operations: C = alpha * op(A) * op(B) + beta * C
Declaration
public void Bsrmm(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transB, int mb, int n, int kb, int nnzb, float alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockSize, CudaDeviceVariable<float> B, int ldb, float beta, CudaDeviceVariable<float> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transB | the operation op(B). |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | n | number of columns of dense matrix op(B) and A. |
| System.Int32 | kb | number of block columns of sparse matrix A. |
| System.Int32 | nnzb | number of non-zero blocks of sparse matrix A. |
| System.Single | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | bsrValA | array of nnzb ( = bsrRowPtrA(mb) - bsrRowPtrA(0) ) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb + 1elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb ( =bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A, larger than zero. |
| CudaDeviceVariable<System.Single> | B | array of dimensions (ldb, n) if op(B)=B and (ldb, k) otherwise. |
| System.Int32 | ldb | leading dimension of B. If op(B)=B, it must be at least max(l,k) If op(B) != B, it must be at least max(1, n). |
| System.Single | beta | scalar used for multiplication. If beta is zero, C does not have to be a valid input. |
| CudaDeviceVariable<System.Single> | C | array of dimensions (ldc, n). |
| System.Int32 | ldc | leading dimension of C. It must be at least max(l,m) if op(A)=A and at least max(l,k) otherwise. |
Bsrmv(cusparseDirection, cusparseOperation, Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>)
This function performs the matrix-vector operation
y = alpha * op(A) * x + beta * y
where A is (mbblockDim) x (nbblockDim) sparse matrix (that is defined in BSR storage format by the three arrays bsrVal, bsrRowPtr, and bsrColInd), x and y are vectors, alpha and beta are scalars.
Declaration
public void Bsrmv(cusparseDirection dirA, cusparseOperation transA, int mb, int nb, CudaDeviceVariable<cuDoubleComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaDeviceVariable<cuDoubleComplex> x, CudaDeviceVariable<cuDoubleComplex> beta, CudaDeviceVariable<cuDoubleComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). Only CUSPARSE_OPERATION_NON_TRANSPOSE is supported. |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | nb | number of block columns of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | bsrValA | array of nnzb (= bsrRowPtr(mb) - bsrRowPtr(0)) non-zero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtr(m) - bsrRowPtr(0)) column indices of the non-zero blocks of matrix A. Length of bsrColIndA gives the number nzzb passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaDeviceVariable<cuDoubleComplex> | x | vector of nb*blockDim elements. |
| CudaDeviceVariable<cuDoubleComplex> | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<cuDoubleComplex> | y | vector of mb*blockDim element. |
Bsrmv(cusparseDirection, cusparseOperation, Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>)
This function performs the matrix-vector operation
y = alpha * op(A) * x + beta * y
where A is (mbblockDim) x (nbblockDim) sparse matrix (that is defined in BSR storage format by the three arrays bsrVal, bsrRowPtr, and bsrColInd), x and y are vectors, alpha and beta are scalars.
Declaration
public void Bsrmv(cusparseDirection dirA, cusparseOperation transA, int mb, int nb, CudaDeviceVariable<cuFloatComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaDeviceVariable<cuFloatComplex> x, CudaDeviceVariable<cuFloatComplex> beta, CudaDeviceVariable<cuFloatComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). Only CUSPARSE_OPERATION_NON_TRANSPOSE is supported. |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | nb | number of block columns of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | bsrValA | array of nnzb (= bsrRowPtr(mb) - bsrRowPtr(0)) non-zero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtr(m) - bsrRowPtr(0)) column indices of the non-zero blocks of matrix A. Length of bsrColIndA gives the number nzzb passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaDeviceVariable<cuFloatComplex> | x | vector of nb*blockDim elements. |
| CudaDeviceVariable<cuFloatComplex> | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<cuFloatComplex> | y | vector of mb*blockDim element. |
Bsrmv(cusparseDirection, cusparseOperation, Int32, Int32, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>)
This function performs the matrix-vector operation
y = alpha * op(A) * x + beta * y
where A is (mbblockDim) x (nbblockDim) sparse matrix (that is defined in BSR storage format by the three arrays bsrVal, bsrRowPtr, and bsrColInd), x and y are vectors, alpha and beta are scalars.
Declaration
public void Bsrmv(cusparseDirection dirA, cusparseOperation transA, int mb, int nb, CudaDeviceVariable<double> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaDeviceVariable<double> x, CudaDeviceVariable<double> beta, CudaDeviceVariable<double> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). Only CUSPARSE_OPERATION_NON_TRANSPOSE is supported. |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | nb | number of block columns of matrix A. |
| CudaDeviceVariable<System.Double> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | bsrValA | array of nnzb (= bsrRowPtr(mb) - bsrRowPtr(0)) non-zero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtr(m) - bsrRowPtr(0)) column indices of the non-zero blocks of matrix A. Length of bsrColIndA gives the number nzzb passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaDeviceVariable<System.Double> | x | vector of nb*blockDim elements. |
| CudaDeviceVariable<System.Double> | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<System.Double> | y | vector of mb*blockDim element. |
Bsrmv(cusparseDirection, cusparseOperation, Int32, Int32, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>)
This function performs the matrix-vector operation
y = alpha * op(A) * x + beta * y
where A is (mbblockDim) x (nbblockDim) sparse matrix (that is defined in BSR storage format by the three arrays bsrVal, bsrRowPtr, and bsrColInd), x and y are vectors, alpha and beta are scalars.
Declaration
public void Bsrmv(cusparseDirection dirA, cusparseOperation transA, int mb, int nb, CudaDeviceVariable<float> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaDeviceVariable<float> x, CudaDeviceVariable<float> beta, CudaDeviceVariable<float> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). Only CUSPARSE_OPERATION_NON_TRANSPOSE is supported. |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | nb | number of block columns of matrix A. |
| CudaDeviceVariable<System.Single> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | bsrValA | array of nnzb (= bsrRowPtr(mb) - bsrRowPtr(0)) non-zero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtr(m) - bsrRowPtr(0)) column indices of the non-zero blocks of matrix A. Length of bsrColIndA gives the number nzzb passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaDeviceVariable<System.Single> | x | vector of nb*blockDim elements. |
| CudaDeviceVariable<System.Single> | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<System.Single> | y | vector of mb*blockDim element. |
Bsrmv(cusparseDirection, cusparseOperation, Int32, Int32, cuDoubleComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<cuDoubleComplex>, cuDoubleComplex, CudaDeviceVariable<cuDoubleComplex>)
This function performs the matrix-vector operation
y = alpha * op(A) * x + beta * y
where A is (mbblockDim) x (nbblockDim) sparse matrix (that is defined in BSR storage format by the three arrays bsrVal, bsrRowPtr, and bsrColInd), x and y are vectors, alpha and beta are scalars.
Declaration
public void Bsrmv(cusparseDirection dirA, cusparseOperation transA, int mb, int nb, cuDoubleComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaDeviceVariable<cuDoubleComplex> x, cuDoubleComplex beta, CudaDeviceVariable<cuDoubleComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). Only CUSPARSE_OPERATION_NON_TRANSPOSE is supported. |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | nb | number of block columns of matrix A. |
| cuDoubleComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | bsrValA | array of nnzb (= bsrRowPtr(mb) - bsrRowPtr(0)) non-zero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtr(m) - bsrRowPtr(0)) column indices of the non-zero blocks of matrix A. Length of bsrColIndA gives the number nzzb passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaDeviceVariable<cuDoubleComplex> | x | vector of nb*blockDim elements. |
| cuDoubleComplex | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<cuDoubleComplex> | y | vector of mb*blockDim element. |
Bsrmv(cusparseDirection, cusparseOperation, Int32, Int32, cuFloatComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<cuFloatComplex>, cuFloatComplex, CudaDeviceVariable<cuFloatComplex>)
This function performs the matrix-vector operation
y = alpha * op(A) * x + beta * y
where A is (mbblockDim) x (nbblockDim) sparse matrix (that is defined in BSR storage format by the three arrays bsrVal, bsrRowPtr, and bsrColInd), x and y are vectors, alpha and beta are scalars.
Declaration
public void Bsrmv(cusparseDirection dirA, cusparseOperation transA, int mb, int nb, cuFloatComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaDeviceVariable<cuFloatComplex> x, cuFloatComplex beta, CudaDeviceVariable<cuFloatComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). Only CUSPARSE_OPERATION_NON_TRANSPOSE is supported. |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | nb | number of block columns of matrix A. |
| cuFloatComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | bsrValA | array of nnzb (= bsrRowPtr(mb) - bsrRowPtr(0)) non-zero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtr(m) - bsrRowPtr(0)) column indices of the non-zero blocks of matrix A. Length of bsrColIndA gives the number nzzb passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaDeviceVariable<cuFloatComplex> | x | vector of nb*blockDim elements. |
| cuFloatComplex | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<cuFloatComplex> | y | vector of mb*blockDim element. |
Bsrmv(cusparseDirection, cusparseOperation, Int32, Int32, Double, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<Double>, Double, CudaDeviceVariable<Double>)
This function performs the matrix-vector operation
y = alpha * op(A) * x + beta * y
where A is (mbblockDim) x (nbblockDim) sparse matrix (that is defined in BSR storage format by the three arrays bsrVal, bsrRowPtr, and bsrColInd), x and y are vectors, alpha and beta are scalars.
Declaration
public void Bsrmv(cusparseDirection dirA, cusparseOperation transA, int mb, int nb, double alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaDeviceVariable<double> x, double beta, CudaDeviceVariable<double> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). Only CUSPARSE_OPERATION_NON_TRANSPOSE is supported. |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | nb | number of block columns of matrix A. |
| System.Double | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | bsrValA | array of nnzb (= bsrRowPtr(mb) - bsrRowPtr(0)) non-zero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtr(m) - bsrRowPtr(0)) column indices of the non-zero blocks of matrix A. Length of bsrColIndA gives the number nzzb passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaDeviceVariable<System.Double> | x | vector of nb*blockDim elements. |
| System.Double | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<System.Double> | y | vector of mb*blockDim element. |
Bsrmv(cusparseDirection, cusparseOperation, Int32, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<Single>, Single, CudaDeviceVariable<Single>)
This function performs the matrix-vector operation
y = alpha * op(A) * x + beta * y
where A is (mbblockDim) x (nbblockDim) sparse matrix (that is defined in BSR storage format by the three arrays bsrVal, bsrRowPtr, and bsrColInd), x and y are vectors, alpha and beta are scalars.
Declaration
public void Bsrmv(cusparseDirection dirA, cusparseOperation transA, int mb, int nb, float alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaDeviceVariable<float> x, float beta, CudaDeviceVariable<float> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). Only CUSPARSE_OPERATION_NON_TRANSPOSE is supported. |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | nb | number of block columns of matrix A. |
| System.Single | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | bsrValA | array of nnzb (= bsrRowPtr(mb) - bsrRowPtr(0)) non-zero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtr(m) - bsrRowPtr(0)) column indices of the non-zero blocks of matrix A. Length of bsrColIndA gives the number nzzb passed to CUSPARSE. |
| System.Int32 | blockDim | block dimension of sparse matrix A, larger than zero. |
| CudaDeviceVariable<System.Single> | x | vector of nb*blockDim elements. |
| System.Single | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<System.Single> | y | vector of mb*blockDim element. |
Bsrsm2Analysis(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsm2Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of bsrsm2(), a new sparse triangular linear system op(A)*op(Y) = alpha op(X).
Declaration
public void Bsrsm2Analysis(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transXY, int mb, int n, int nnzb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int blockSize, CudaSparseBsrsm2Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transXY | the operation op(X). |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | n | number of columns of matrix Y and op(X). |
| System.Int32 | nnzb | number of nonzero blocks of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL, while the supported diagonal types are CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | bsrVal | array of nnzb bsrRowPtrA(mb) bsrRowPtrA(0) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb +1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A; larger than zero. |
| CudaSparseBsrsm2Info | info | record internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is return by bsrsm2_bufferSizeExt(). |
Bsrsm2Analysis(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsm2Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of bsrsm2(), a new sparse triangular linear system op(A)*op(Y) = alpha op(X).
Declaration
public void Bsrsm2Analysis(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transXY, int mb, int n, int nnzb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int blockSize, CudaSparseBsrsm2Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transXY | the operation op(X). |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | n | number of columns of matrix Y and op(X). |
| System.Int32 | nnzb | number of nonzero blocks of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL, while the supported diagonal types are CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | bsrVal | array of nnzb bsrRowPtrA(mb) bsrRowPtrA(0) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb +1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A; larger than zero. |
| CudaSparseBsrsm2Info | info | record internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is return by bsrsm2_bufferSizeExt(). |
Bsrsm2Analysis(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsm2Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of bsrsm2(), a new sparse triangular linear system op(A)*op(Y) = alpha op(X).
Declaration
public void Bsrsm2Analysis(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transXY, int mb, int n, int nnzb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int blockSize, CudaSparseBsrsm2Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transXY | the operation op(X). |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | n | number of columns of matrix Y and op(X). |
| System.Int32 | nnzb | number of nonzero blocks of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL, while the supported diagonal types are CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | bsrVal | array of nnzb bsrRowPtrA(mb) bsrRowPtrA(0) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb +1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A; larger than zero. |
| CudaSparseBsrsm2Info | info | record internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is return by bsrsm2_bufferSizeExt(). |
Bsrsm2Analysis(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsm2Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of bsrsm2(), a new sparse triangular linear system op(A)*op(Y) = alpha op(X).
Declaration
public void Bsrsm2Analysis(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transXY, int mb, int n, int nnzb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int blockSize, CudaSparseBsrsm2Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transXY | the operation op(X). |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | n | number of columns of matrix Y and op(X). |
| System.Int32 | nnzb | number of nonzero blocks of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL, while the supported diagonal types are CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | bsrVal | array of nnzb bsrRowPtrA(mb) bsrRowPtrA(0) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb +1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A; larger than zero. |
| CudaSparseBsrsm2Info | info | record internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is return by bsrsm2_bufferSizeExt(). |
Bsrsm2BufferSize(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsm2Info)
This function returns size of buffer used in bsrsm2(), a new sparse triangular linear system op(A)*Y = alpha op(X).
Declaration
public SizeT Bsrsm2BufferSize(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transXY, int mb, int n, int nnzb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int blockSize, CudaSparseBsrsm2Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transXY | the operation op(X). |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | n | number of columns of matrix Y and op(X). |
| System.Int32 | nnzb | number of nonzero blocks of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL, while the supported diagonal types are CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | bsrVal | array of nnzb bsrRowPtrA(mb) bsrRowPtrA(0) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb +1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A; larger than zero. |
| CudaSparseBsrsm2Info | info | record internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in bsrsm2_analysis() and bsrsm2_solve(). |
Bsrsm2BufferSize(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsm2Info)
This function returns size of buffer used in bsrsm2(), a new sparse triangular linear system op(A)*Y = alpha op(X).
Declaration
public SizeT Bsrsm2BufferSize(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transXY, int mb, int n, int nnzb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int blockSize, CudaSparseBsrsm2Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transXY | the operation op(X). |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | n | number of columns of matrix Y and op(X). |
| System.Int32 | nnzb | number of nonzero blocks of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL, while the supported diagonal types are CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | bsrVal | array of nnzb bsrRowPtrA(mb) bsrRowPtrA(0) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb +1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A; larger than zero. |
| CudaSparseBsrsm2Info | info | record internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in bsrsm2_analysis() and bsrsm2_solve(). |
Bsrsm2BufferSize(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsm2Info)
This function returns size of buffer used in bsrsm2(), a new sparse triangular linear system op(A)*Y = alpha op(X).
Declaration
public SizeT Bsrsm2BufferSize(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transXY, int mb, int n, int nnzb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int blockSize, CudaSparseBsrsm2Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transXY | the operation op(X). |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | n | number of columns of matrix Y and op(X). |
| System.Int32 | nnzb | number of nonzero blocks of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL, while the supported diagonal types are CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | bsrVal | array of nnzb bsrRowPtrA(mb) bsrRowPtrA(0) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb +1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A; larger than zero. |
| CudaSparseBsrsm2Info | info | record internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in bsrsm2_analysis() and bsrsm2_solve(). |
Bsrsm2BufferSize(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsm2Info)
This function returns size of buffer used in bsrsm2(), a new sparse triangular linear system op(A)*Y = alpha op(X).
Declaration
public SizeT Bsrsm2BufferSize(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transXY, int mb, int n, int nnzb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int blockSize, CudaSparseBsrsm2Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transXY | the operation op(X). |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | n | number of columns of matrix Y and op(X). |
| System.Int32 | nnzb | number of nonzero blocks of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL, while the supported diagonal types are CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | bsrVal | array of nnzb bsrRowPtrA(mb) bsrRowPtrA(0) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb +1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A; larger than zero. |
| CudaSparseBsrsm2Info | info | record internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in bsrsm2_analysis() and bsrsm2_solve(). |
Bsrsm2Solve(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsm2Info, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the solution of a sparse triangular linear system: op(A) * op(Y) = alpha * op(X)
Declaration
public void Bsrsm2Solve(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transXY, int mb, int n, int nnzb, CudaDeviceVariable<cuDoubleComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int blockSize, CudaSparseBsrsm2Info info, CudaDeviceVariable<cuDoubleComplex> X, int ldx, CudaDeviceVariable<cuDoubleComplex> Y, int ldy, cusparseSolvePolicy policy, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transXY | the operation op(x) and op(Y). |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | n | number of columns of dense matrix Y and op(X). |
| System.Int32 | nnzb | number of non-zero blocks of matrix A |
| CudaDeviceVariable<cuDoubleComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | bsrVal | array of nnzb ( = bsrRowPtrA(mb) - bsrRowPtrA(0) ) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb ( =bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsrsm2Info | info | structure initialized using cusparseCreateBsrsm2Info(). |
| CudaDeviceVariable<cuDoubleComplex> | X | right-hand-side array. |
| System.Int32 | ldx | leading dimension of X. If op(X)=X, ldx>=k; otherwise, ldx>=n. |
| CudaDeviceVariable<cuDoubleComplex> | Y | solution array of dimensions (ldy, n). |
| System.Int32 | ldy | leading dimension of Y. If op(A)=A, then ldc>=m. If op(A)!=A, then ldx>=k. |
| cusparseSolvePolicy | policy | the supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by bsrsm2_bufferSizeExt(). |
Bsrsm2Solve(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsm2Info, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<cuFloatComplex>, Int32, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the solution of a sparse triangular linear system: op(A) * op(Y) = alpha * op(X)
Declaration
public void Bsrsm2Solve(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transXY, int mb, int n, int nnzb, CudaDeviceVariable<cuFloatComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int blockSize, CudaSparseBsrsm2Info info, CudaDeviceVariable<cuFloatComplex> X, int ldx, CudaDeviceVariable<cuFloatComplex> Y, int ldy, cusparseSolvePolicy policy, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transXY | the operation op(x) and op(Y). |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | n | number of columns of dense matrix Y and op(X). |
| System.Int32 | nnzb | number of non-zero blocks of matrix A |
| CudaDeviceVariable<cuFloatComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | bsrVal | array of nnzb ( = bsrRowPtrA(mb) - bsrRowPtrA(0) ) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb ( =bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsrsm2Info | info | structure initialized using cusparseCreateBsrsm2Info(). |
| CudaDeviceVariable<cuFloatComplex> | X | right-hand-side array. |
| System.Int32 | ldx | leading dimension of X. If op(X)=X, ldx>=k; otherwise, ldx>=n. |
| CudaDeviceVariable<cuFloatComplex> | Y | solution array of dimensions (ldy, n). |
| System.Int32 | ldy | leading dimension of Y. If op(A)=A, then ldc>=m. If op(A)!=A, then ldx>=k. |
| cusparseSolvePolicy | policy | the supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by bsrsm2_bufferSizeExt(). |
Bsrsm2Solve(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsm2Info, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, Int32, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the solution of a sparse triangular linear system: op(A) * op(Y) = alpha * op(X)
Declaration
public void Bsrsm2Solve(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transXY, int mb, int n, int nnzb, CudaDeviceVariable<double> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int blockSize, CudaSparseBsrsm2Info info, CudaDeviceVariable<double> X, int ldx, CudaDeviceVariable<double> Y, int ldy, cusparseSolvePolicy policy, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transXY | the operation op(x) and op(Y). |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | n | number of columns of dense matrix Y and op(X). |
| System.Int32 | nnzb | number of non-zero blocks of matrix A |
| CudaDeviceVariable<System.Double> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | bsrVal | array of nnzb ( = bsrRowPtrA(mb) - bsrRowPtrA(0) ) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb ( =bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsrsm2Info | info | structure initialized using cusparseCreateBsrsm2Info(). |
| CudaDeviceVariable<System.Double> | X | right-hand-side array. |
| System.Int32 | ldx | leading dimension of X. If op(X)=X, ldx>=k; otherwise, ldx>=n. |
| CudaDeviceVariable<System.Double> | Y | solution array of dimensions (ldy, n). |
| System.Int32 | ldy | leading dimension of Y. If op(A)=A, then ldc>=m. If op(A)!=A, then ldx>=k. |
| cusparseSolvePolicy | policy | the supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by bsrsm2_bufferSizeExt(). |
Bsrsm2Solve(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsm2Info, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, Int32, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the solution of a sparse triangular linear system: op(A) * op(Y) = alpha * op(X)
Declaration
public void Bsrsm2Solve(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transXY, int mb, int n, int nnzb, CudaDeviceVariable<float> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int blockSize, CudaSparseBsrsm2Info info, CudaDeviceVariable<float> X, int ldx, CudaDeviceVariable<float> Y, int ldy, cusparseSolvePolicy policy, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transXY | the operation op(x) and op(Y). |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | n | number of columns of dense matrix Y and op(X). |
| System.Int32 | nnzb | number of non-zero blocks of matrix A |
| CudaDeviceVariable<System.Single> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | bsrVal | array of nnzb ( = bsrRowPtrA(mb) - bsrRowPtrA(0) ) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb ( =bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsrsm2Info | info | structure initialized using cusparseCreateBsrsm2Info(). |
| CudaDeviceVariable<System.Single> | X | right-hand-side array. |
| System.Int32 | ldx | leading dimension of X. If op(X)=X, ldx>=k; otherwise, ldx>=n. |
| CudaDeviceVariable<System.Single> | Y | solution array of dimensions (ldy, n). |
| System.Int32 | ldy | leading dimension of Y. If op(A)=A, then ldc>=m. If op(A)!=A, then ldx>=k. |
| cusparseSolvePolicy | policy | the supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by bsrsm2_bufferSizeExt(). |
Bsrsm2Solve(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, cuDoubleComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsm2Info, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the solution of a sparse triangular linear system: op(A) * op(Y) = alpha * op(X)
Declaration
public void Bsrsm2Solve(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transXY, int mb, int n, int nnzb, cuDoubleComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int blockSize, CudaSparseBsrsm2Info info, CudaDeviceVariable<cuDoubleComplex> X, int ldx, CudaDeviceVariable<cuDoubleComplex> Y, int ldy, cusparseSolvePolicy policy, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transXY | the operation op(x) and op(Y). |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | n | number of columns of dense matrix Y and op(X). |
| System.Int32 | nnzb | number of non-zero blocks of matrix A |
| cuDoubleComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | bsrVal | array of nnzb ( = bsrRowPtrA(mb) - bsrRowPtrA(0) ) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb ( =bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsrsm2Info | info | structure initialized using cusparseCreateBsrsm2Info(). |
| CudaDeviceVariable<cuDoubleComplex> | X | right-hand-side array. |
| System.Int32 | ldx | leading dimension of X. If op(X)=X, ldx>=k; otherwise, ldx>=n. |
| CudaDeviceVariable<cuDoubleComplex> | Y | solution array of dimensions (ldy, n). |
| System.Int32 | ldy | leading dimension of Y. If op(A)=A, then ldc>=m. If op(A)!=A, then ldx>=k. |
| cusparseSolvePolicy | policy | the supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by bsrsm2_bufferSizeExt(). |
Bsrsm2Solve(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, cuFloatComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsm2Info, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<cuFloatComplex>, Int32, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the solution of a sparse triangular linear system: op(A) * op(Y) = alpha * op(X)
Declaration
public void Bsrsm2Solve(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transXY, int mb, int n, int nnzb, cuFloatComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int blockSize, CudaSparseBsrsm2Info info, CudaDeviceVariable<cuFloatComplex> X, int ldx, CudaDeviceVariable<cuFloatComplex> Y, int ldy, cusparseSolvePolicy policy, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transXY | the operation op(x) and op(Y). |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | n | number of columns of dense matrix Y and op(X). |
| System.Int32 | nnzb | number of non-zero blocks of matrix A |
| cuFloatComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | bsrVal | array of nnzb ( = bsrRowPtrA(mb) - bsrRowPtrA(0) ) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb ( =bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsrsm2Info | info | structure initialized using cusparseCreateBsrsm2Info(). |
| CudaDeviceVariable<cuFloatComplex> | X | right-hand-side array. |
| System.Int32 | ldx | leading dimension of X. If op(X)=X, ldx>=k; otherwise, ldx>=n. |
| CudaDeviceVariable<cuFloatComplex> | Y | solution array of dimensions (ldy, n). |
| System.Int32 | ldy | leading dimension of Y. If op(A)=A, then ldc>=m. If op(A)!=A, then ldx>=k. |
| cusparseSolvePolicy | policy | the supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by bsrsm2_bufferSizeExt(). |
Bsrsm2Solve(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, Double, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsm2Info, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, Int32, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the solution of a sparse triangular linear system: op(A) * op(Y) = alpha * op(X)
Declaration
public void Bsrsm2Solve(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transXY, int mb, int n, int nnzb, double alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int blockSize, CudaSparseBsrsm2Info info, CudaDeviceVariable<double> X, int ldx, CudaDeviceVariable<double> Y, int ldy, cusparseSolvePolicy policy, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transXY | the operation op(x) and op(Y). |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | n | number of columns of dense matrix Y and op(X). |
| System.Int32 | nnzb | number of non-zero blocks of matrix A |
| System.Double | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | bsrVal | array of nnzb ( = bsrRowPtrA(mb) - bsrRowPtrA(0) ) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb ( =bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsrsm2Info | info | structure initialized using cusparseCreateBsrsm2Info(). |
| CudaDeviceVariable<System.Double> | X | right-hand-side array. |
| System.Int32 | ldx | leading dimension of X. If op(X)=X, ldx>=k; otherwise, ldx>=n. |
| CudaDeviceVariable<System.Double> | Y | solution array of dimensions (ldy, n). |
| System.Int32 | ldy | leading dimension of Y. If op(A)=A, then ldc>=m. If op(A)!=A, then ldx>=k. |
| cusparseSolvePolicy | policy | the supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by bsrsm2_bufferSizeExt(). |
Bsrsm2Solve(cusparseDirection, cusparseOperation, cusparseOperation, Int32, Int32, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsm2Info, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, Int32, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the solution of a sparse triangular linear system: op(A) * op(Y) = alpha * op(X)
Declaration
public void Bsrsm2Solve(cusparseDirection dirA, cusparseOperation transA, cusparseOperation transXY, int mb, int n, int nnzb, float alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int blockSize, CudaSparseBsrsm2Info info, CudaDeviceVariable<float> X, int ldx, CudaDeviceVariable<float> Y, int ldy, cusparseSolvePolicy policy, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transXY | the operation op(x) and op(Y). |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Int32 | n | number of columns of dense matrix Y and op(X). |
| System.Int32 | nnzb | number of non-zero blocks of matrix A |
| System.Single | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | bsrVal | array of nnzb ( = bsrRowPtrA(mb) - bsrRowPtrA(0) ) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb ( =bsrRowPtrA(mb) - bsrRowPtrA(0) ) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockSize | block dimension of sparse matrix A, larger than zero. |
| CudaSparseBsrsm2Info | info | structure initialized using cusparseCreateBsrsm2Info(). |
| CudaDeviceVariable<System.Single> | X | right-hand-side array. |
| System.Int32 | ldx | leading dimension of X. If op(X)=X, ldx>=k; otherwise, ldx>=n. |
| CudaDeviceVariable<System.Single> | Y | solution array of dimensions (ldy, n). |
| System.Int32 | ldy | leading dimension of Y. If op(A)=A, then ldc>=m. If op(A)!=A, then ldx>=k. |
| cusparseSolvePolicy | policy | the supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by bsrsm2_bufferSizeExt(). |
Bsrsv2Analysis(cusparseOperation, cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsv2Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of bsrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Bsrsv2Analysis(cusparseOperation transA, cusparseDirection dirA, int mb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrsv2Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | bsrValA | array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A; must be larger than zero. |
| CudaSparseBsrsv2Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
Bsrsv2Analysis(cusparseOperation, cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsv2Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of bsrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Bsrsv2Analysis(cusparseOperation transA, cusparseDirection dirA, int mb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrsv2Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | bsrValA | array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A; must be larger than zero. |
| CudaSparseBsrsv2Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
Bsrsv2Analysis(cusparseOperation, cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsv2Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of bsrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Bsrsv2Analysis(cusparseOperation transA, cusparseDirection dirA, int mb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrsv2Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | bsrValA | array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A; must be larger than zero. |
| CudaSparseBsrsv2Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
Bsrsv2Analysis(cusparseOperation, cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsv2Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of bsrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Bsrsv2Analysis(cusparseOperation transA, cusparseDirection dirA, int mb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrsv2Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | bsrValA | array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A; must be larger than zero. |
| CudaSparseBsrsv2Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
Bsrsv2BufferSize(cusparseOperation, cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsv2Info)
This function returns the size of the buffer used in bsrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public SizeT Bsrsv2BufferSize(cusparseOperation transA, cusparseDirection dirA, int mb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrsv2Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | bsrValA | array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A; must be larger than zero. |
| CudaSparseBsrsv2Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Bsrsv2BufferSize(cusparseOperation, cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsv2Info)
This function returns the size of the buffer used in bsrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public SizeT Bsrsv2BufferSize(cusparseOperation transA, cusparseDirection dirA, int mb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrsv2Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | bsrValA | array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A; must be larger than zero. |
| CudaSparseBsrsv2Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Bsrsv2BufferSize(cusparseOperation, cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsv2Info)
This function returns the size of the buffer used in bsrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public SizeT Bsrsv2BufferSize(cusparseOperation transA, cusparseDirection dirA, int mb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrsv2Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | bsrValA | array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A; must be larger than zero. |
| CudaSparseBsrsv2Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Bsrsv2BufferSize(cusparseOperation, cusparseDirection, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsv2Info)
This function returns the size of the buffer used in bsrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public SizeT Bsrsv2BufferSize(cusparseOperation transA, cusparseDirection dirA, int mb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrsv2Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | bsrValA | array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A; must be larger than zero. |
| CudaSparseBsrsv2Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Bsrsv2Solve(cusparseOperation, cusparseDirection, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsv2Info, CudaDeviceVariable<cuDoubleComplex>, cusparseSolvePolicy, CudaDeviceVariable<Byte>, CudaDeviceVariable<cuDoubleComplex>)
This function performs the solve phase of bsrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Bsrsv2Solve(cusparseOperation transA, cusparseDirection dirA, int mb, CudaDeviceVariable<cuDoubleComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrsv2Info info, CudaDeviceVariable<cuDoubleComplex> x, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer, CudaDeviceVariable<cuDoubleComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | bsrValA | array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A; must be larger than zero. |
| CudaSparseBsrsv2Info | info | record of internal states based on different algorithms. |
| CudaDeviceVariable<cuDoubleComplex> | x | right-hand-side vector of size m. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
| CudaDeviceVariable<cuDoubleComplex> | y | solution vector of size m. |
Bsrsv2Solve(cusparseOperation, cusparseDirection, Int32, CudaDeviceVariable<cuFloatComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsv2Info, CudaDeviceVariable<cuFloatComplex>, cusparseSolvePolicy, CudaDeviceVariable<Byte>, CudaDeviceVariable<cuFloatComplex>)
This function performs the solve phase of bsrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Bsrsv2Solve(cusparseOperation transA, cusparseDirection dirA, int mb, CudaDeviceVariable<cuFloatComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrsv2Info info, CudaDeviceVariable<cuFloatComplex> x, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer, CudaDeviceVariable<cuFloatComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | bsrValA | array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A; must be larger than zero. |
| CudaSparseBsrsv2Info | info | record of internal states based on different algorithms. |
| CudaDeviceVariable<cuFloatComplex> | x | right-hand-side vector of size m. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
| CudaDeviceVariable<cuFloatComplex> | y | solution vector of size m. |
Bsrsv2Solve(cusparseOperation, cusparseDirection, Int32, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsv2Info, CudaDeviceVariable<Double>, cusparseSolvePolicy, CudaDeviceVariable<Byte>, CudaDeviceVariable<Double>)
This function performs the solve phase of bsrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Bsrsv2Solve(cusparseOperation transA, cusparseDirection dirA, int mb, CudaDeviceVariable<double> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrsv2Info info, CudaDeviceVariable<double> x, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer, CudaDeviceVariable<double> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of matrix A. |
| CudaDeviceVariable<System.Double> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | bsrValA | array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A; must be larger than zero. |
| CudaSparseBsrsv2Info | info | record of internal states based on different algorithms. |
| CudaDeviceVariable<System.Double> | x | right-hand-side vector of size m. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
| CudaDeviceVariable<System.Double> | y | solution vector of size m. |
Bsrsv2Solve(cusparseOperation, cusparseDirection, Int32, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsv2Info, CudaDeviceVariable<Single>, cusparseSolvePolicy, CudaDeviceVariable<Byte>, CudaDeviceVariable<Single>)
This function performs the solve phase of bsrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Bsrsv2Solve(cusparseOperation transA, cusparseDirection dirA, int mb, CudaDeviceVariable<float> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrsv2Info info, CudaDeviceVariable<float> x, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer, CudaDeviceVariable<float> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of matrix A. |
| CudaDeviceVariable<System.Single> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | bsrValA | array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A; must be larger than zero. |
| CudaSparseBsrsv2Info | info | record of internal states based on different algorithms. |
| CudaDeviceVariable<System.Single> | x | right-hand-side vector of size m. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
| CudaDeviceVariable<System.Single> | y | solution vector of size m. |
Bsrsv2Solve(cusparseOperation, cusparseDirection, Int32, ref cuDoubleComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsv2Info, CudaDeviceVariable<cuDoubleComplex>, cusparseSolvePolicy, CudaDeviceVariable<Byte>, CudaDeviceVariable<cuDoubleComplex>)
This function performs the solve phase of bsrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Bsrsv2Solve(cusparseOperation transA, cusparseDirection dirA, int mb, ref cuDoubleComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrsv2Info info, CudaDeviceVariable<cuDoubleComplex> x, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer, CudaDeviceVariable<cuDoubleComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of matrix A. |
| cuDoubleComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | bsrValA | array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A; must be larger than zero. |
| CudaSparseBsrsv2Info | info | record of internal states based on different algorithms. |
| CudaDeviceVariable<cuDoubleComplex> | x | right-hand-side vector of size m. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
| CudaDeviceVariable<cuDoubleComplex> | y | solution vector of size m. |
Bsrsv2Solve(cusparseOperation, cusparseDirection, Int32, ref cuFloatComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsv2Info, CudaDeviceVariable<cuFloatComplex>, cusparseSolvePolicy, CudaDeviceVariable<Byte>, CudaDeviceVariable<cuFloatComplex>)
This function performs the solve phase of bsrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Bsrsv2Solve(cusparseOperation transA, cusparseDirection dirA, int mb, ref cuFloatComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrsv2Info info, CudaDeviceVariable<cuFloatComplex> x, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer, CudaDeviceVariable<cuFloatComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of matrix A. |
| cuFloatComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | bsrValA | array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A; must be larger than zero. |
| CudaSparseBsrsv2Info | info | record of internal states based on different algorithms. |
| CudaDeviceVariable<cuFloatComplex> | x | right-hand-side vector of size m. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
| CudaDeviceVariable<cuFloatComplex> | y | solution vector of size m. |
Bsrsv2Solve(cusparseOperation, cusparseDirection, Int32, ref Double, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsv2Info, CudaDeviceVariable<Double>, cusparseSolvePolicy, CudaDeviceVariable<Byte>, CudaDeviceVariable<Double>)
This function performs the solve phase of bsrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Bsrsv2Solve(cusparseOperation transA, cusparseDirection dirA, int mb, ref double alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrsv2Info info, CudaDeviceVariable<double> x, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer, CudaDeviceVariable<double> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Double | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | bsrValA | array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A; must be larger than zero. |
| CudaSparseBsrsv2Info | info | record of internal states based on different algorithms. |
| CudaDeviceVariable<System.Double> | x | right-hand-side vector of size m. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
| CudaDeviceVariable<System.Double> | y | solution vector of size m. |
Bsrsv2Solve(cusparseOperation, cusparseDirection, Int32, ref Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseBsrsv2Info, CudaDeviceVariable<Single>, cusparseSolvePolicy, CudaDeviceVariable<Byte>, CudaDeviceVariable<Single>)
This function performs the solve phase of bsrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Bsrsv2Solve(cusparseOperation transA, cusparseDirection dirA, int mb, ref float alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int blockDim, CudaSparseBsrsv2Info info, CudaDeviceVariable<float> x, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer, CudaDeviceVariable<float> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of matrix A. |
| System.Single | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | bsrValA | array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of m + 1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb (= bsrRowPtrA(mb) - bsrRowPtrA(0)) column indices of the nonzero blocks of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A; must be larger than zero. |
| CudaSparseBsrsv2Info | info | record of internal states based on different algorithms. |
| CudaDeviceVariable<System.Single> | x | right-hand-side vector of size m. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by bsrsv2_bufferSizeExt(). |
| CudaDeviceVariable<System.Single> | y | solution vector of size m. |
Bsrsv2ZeroPivot(CudaSparseBsrsv2Info, CudaDeviceVariable<Int32>)
If the returned error code is CUSPARSE_STATUS_ZERO_PIVOT, position=j means A(j,j) has either a structural zero or a numerical zero. Otherwise position=-1.
The position can be 0-based or 1-based, the same as the matrix.
Function cusparseXbsrsv2_zeroPivot() is a blocking call. It calls cudaDeviceSynchronize() to make sure all previous kernels are done.
The position can be in the host memory or device memory. The user can set the proper mode with cusparseSetPointerMode().
Declaration
public bool Bsrsv2ZeroPivot(CudaSparseBsrsv2Info info, CudaDeviceVariable<int> position)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseBsrsv2Info | info | info contains structural zero or numerical zero if the user already called bsrsv2_analysis() or bsrsv2_solve(). |
| CudaDeviceVariable<System.Int32> | position | if no structural or numerical zero, position is -1; otherwise, if A(j,j) is missing or U(j,j) is zero, position=j. |
Returns
| Type | Description |
|---|---|
| System.Boolean | If true, position=j means A(j,j) has either a structural zero or a numerical zero; otherwise, position=-1. |
Bsrsv2ZeroPivot(CudaSparseBsrsv2Info, ref Int32)
If the returned error code is CUSPARSE_STATUS_ZERO_PIVOT, position=j means A(j,j) has either a structural zero or a numerical zero. Otherwise position=-1.
The position can be 0-based or 1-based, the same as the matrix.
Function cusparseXbsrsv2_zeroPivot() is a blocking call. It calls cudaDeviceSynchronize() to make sure all previous kernels are done.
The position can be in the host memory or device memory. The user can set the proper mode with cusparseSetPointerMode().
Declaration
public bool Bsrsv2ZeroPivot(CudaSparseBsrsv2Info info, ref int position)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseBsrsv2Info | info | info contains structural zero or numerical zero if the user already called bsrsv2_analysis() or bsrsv2_solve(). |
| System.Int32 | position | if no structural or numerical zero, position is -1; otherwise, if A(j,j) is missing or U(j,j) is zero, position=j. |
Returns
| Type | Description |
|---|---|
| System.Boolean | If true, position=j means A(j,j) has either a structural zero or a numerical zero; otherwise, position=-1. |
CoosortBufferSize(Int32, Int32, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function sorts COO format. The stable sorting is in-place. Also the user can sort by row or sort by column.
A is an m x n sparse matrix that is defined in COO storage format by the three arrays cooVals, cooRows, and cooCols.
The matrix must be base 0.
Declaration
public SizeT CoosortBufferSize(int m, int n, int nnz, CudaDeviceVariable<int> cooRowsA, CudaDeviceVariable<int> cooColsA)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cooRowsA | integer array of nnz unsorted row indices of A. |
| CudaDeviceVariable<System.Int32> | cooColsA | integer array of nnz unsorted column indices of A. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer. |
CoosortByColumn(Int32, Int32, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
This function sorts COO format. The stable sorting is in-place. Also the user can sort by row or sort by column.
A is an m x n sparse matrix that is defined in COO storage format by the three arrays cooVals, cooRows, and cooCols.
The matrix must be base 0.
Declaration
public void CoosortByColumn(int m, int n, int nnz, CudaDeviceVariable<int> cooRowsA, CudaDeviceVariable<int> cooColsA, CudaDeviceVariable<int> P, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cooRowsA | integer array of nnz unsorted row indices of A. |
| CudaDeviceVariable<System.Int32> | cooColsA | integer array of nnz unsorted column indices of A. |
| CudaDeviceVariable<System.Int32> | P | integer array of nnz sorted map indices. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by CoosortBufferSize(). |
CoosortByRow(Int32, Int32, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
This function sorts COO format. The stable sorting is in-place. Also the user can sort by row or sort by column.
A is an m x n sparse matrix that is defined in COO storage format by the three arrays cooVals, cooRows, and cooCols.
The matrix must be base 0.
Declaration
public void CoosortByRow(int m, int n, int nnz, CudaDeviceVariable<int> cooRowsA, CudaDeviceVariable<int> cooColsA, CudaDeviceVariable<int> P, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cooRowsA | integer array of nnz unsorted row indices of A. |
| CudaDeviceVariable<System.Int32> | cooColsA | integer array of nnz unsorted column indices of A. |
| CudaDeviceVariable<System.Int32> | P | integer array of nnz sorted map indices. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by CoosortBufferSize(). |
CreateIdentityPermutation(Int32, CudaDeviceVariable<Int32>)
This function creates an identity map. The output parameter p represents such map by p = 0:1:(n-1).
This function is typically used with coosort, csrsort, cscsort, csr2csc_indexOnly.
Declaration
public void CreateIdentityPermutation(int n, CudaDeviceVariable<int> p)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | n | size of the map. |
| CudaDeviceVariable<System.Int32> | p | integer array of dimensions n. |
Csc2dense(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, Int32)
This routine converts a sparse matrix in CSC storage format to a dense matrix.
Declaration
public void Csc2dense(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> cscValA, CudaDeviceVariable<int> cscRowIndA, CudaDeviceVariable<int> cscColPtrA, CudaDeviceVariable<cuDoubleComplex> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | cscValA | array of nnz (= cscRowPtrA(m)-cscRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cscRowIndA | integer array of nnz (= cscRowPtrA(m) - cscRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cscColPtrA | integer array of n+1 elements that contains the start of every column and the end of the last column plus one. |
| CudaDeviceVariable<cuDoubleComplex> | A | Output: array of dimensions (lda, n) that is filled in with the values of the sparse matrix. |
| System.Int32 | lda | leading dimension of dense array A. |
Csc2dense(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, Int32)
This routine converts a sparse matrix in CSC storage format to a dense matrix.
Declaration
public void Csc2dense(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> cscValA, CudaDeviceVariable<int> cscRowIndA, CudaDeviceVariable<int> cscColPtrA, CudaDeviceVariable<cuFloatComplex> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | cscValA | array of nnz (= cscRowPtrA(m)-cscRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cscRowIndA | integer array of nnz (= cscRowPtrA(m) - cscRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cscColPtrA | integer array of n+1 elements that contains the start of every column and the end of the last column plus one. |
| CudaDeviceVariable<cuFloatComplex> | A | Output: array of dimensions (lda, n) that is filled in with the values of the sparse matrix. |
| System.Int32 | lda | leading dimension of dense array A. |
Csc2dense(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, Int32)
This routine converts a sparse matrix in CSC storage format to a dense matrix.
Declaration
public void Csc2dense(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> cscValA, CudaDeviceVariable<int> cscRowIndA, CudaDeviceVariable<int> cscColPtrA, CudaDeviceVariable<double> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | cscValA | array of nnz (= cscRowPtrA(m)-cscRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cscRowIndA | integer array of nnz (= cscRowPtrA(m) - cscRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cscColPtrA | integer array of n+1 elements that contains the start of every column and the end of the last column plus one. |
| CudaDeviceVariable<System.Double> | A | Output: array of dimensions (lda, n) that is filled in with the values of the sparse matrix. |
| System.Int32 | lda | leading dimension of dense array A. |
Csc2dense(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, Int32)
This routine converts a sparse matrix in CSC storage format to a dense matrix.
Declaration
public void Csc2dense(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> cscValA, CudaDeviceVariable<int> cscRowIndA, CudaDeviceVariable<int> cscColPtrA, CudaDeviceVariable<float> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | cscValA | array of nnz (= cscRowPtrA(m)-cscRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cscRowIndA | integer array of nnz (= cscRowPtrA(m) - cscRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cscColPtrA | integer array of n+1 elements that contains the start of every column and the end of the last column plus one. |
| CudaDeviceVariable<System.Single> | A | Output: array of dimensions (lda, n) that is filled in with the values of the sparse matrix. |
| System.Int32 | lda | leading dimension of dense array A. |
Csc2hyb(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseHybMat, Int32, cusparseHybPartition)
Declaration
public void Csc2hyb(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> cscValA, CudaDeviceVariable<int> cscRowIndA, CudaDeviceVariable<int> cscColPtrA, CudaSparseHybMat hybA, int userEllWidth, cusparseHybPartition partitionType)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<cuDoubleComplex> | cscValA | |
| CudaDeviceVariable<System.Int32> | cscRowIndA | |
| CudaDeviceVariable<System.Int32> | cscColPtrA | |
| CudaSparseHybMat | hybA | |
| System.Int32 | userEllWidth | |
| cusparseHybPartition | partitionType |
Csc2hyb(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseHybMat, Int32, cusparseHybPartition)
Declaration
public void Csc2hyb(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> cscValA, CudaDeviceVariable<int> cscRowIndA, CudaDeviceVariable<int> cscColPtrA, CudaSparseHybMat hybA, int userEllWidth, cusparseHybPartition partitionType)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<cuFloatComplex> | cscValA | |
| CudaDeviceVariable<System.Int32> | cscRowIndA | |
| CudaDeviceVariable<System.Int32> | cscColPtrA | |
| CudaSparseHybMat | hybA | |
| System.Int32 | userEllWidth | |
| cusparseHybPartition | partitionType |
Csc2hyb(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseHybMat, Int32, cusparseHybPartition)
Declaration
public void Csc2hyb(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> cscValA, CudaDeviceVariable<int> cscRowIndA, CudaDeviceVariable<int> cscColPtrA, CudaSparseHybMat hybA, int userEllWidth, cusparseHybPartition partitionType)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Double> | cscValA | |
| CudaDeviceVariable<System.Int32> | cscRowIndA | |
| CudaDeviceVariable<System.Int32> | cscColPtrA | |
| CudaSparseHybMat | hybA | |
| System.Int32 | userEllWidth | |
| cusparseHybPartition | partitionType |
Csc2hyb(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseHybMat, Int32, cusparseHybPartition)
Declaration
public void Csc2hyb(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> cscValA, CudaDeviceVariable<int> cscRowIndA, CudaDeviceVariable<int> cscColPtrA, CudaSparseHybMat hybA, int userEllWidth, cusparseHybPartition partitionType)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Single> | cscValA | |
| CudaDeviceVariable<System.Int32> | cscRowIndA | |
| CudaDeviceVariable<System.Int32> | cscColPtrA | |
| CudaSparseHybMat | hybA | |
| System.Int32 | userEllWidth | |
| cusparseHybPartition | partitionType |
Cscsort(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
This function sorts CSC format. The stable sorting is in-place.
The matrix type is regarded as CUSPARSE_MATRIX_TYPE_GENERAL implicitly. In other words, any symmetric property is ignored.
This function cscsort() requires buffer size returned by cscsort_bufferSizeExt(). The address of pBuffer must be multiple of 128 bytes. If not, CUSPARSE_STATUS_INVALID_VALUE is returned.
The parameter P is both input and output. If the user wants to compute sorted cscVal, P must be set as 0:1:(nnz-1) before cscsort(), and after cscsort(), new sorted value array satisfies cscVal_sorted = cscVal(P).
Declaration
public void Cscsort(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<int> cscColPtrA, CudaDeviceVariable<int> cscRowIndA, CudaDeviceVariable<int> P, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. |
| CudaDeviceVariable<System.Int32> | cscColPtrA | integer array of n+1 elements that contains the start of every column and the end of the last column plus one. |
| CudaDeviceVariable<System.Int32> | cscRowIndA | integer array of nnz unsorted row indices of A. |
| CudaDeviceVariable<System.Int32> | P | integer array of nnz sorted map indices. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by CscsortBufferSize(). |
CscsortBufferSize(Int32, Int32, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function sorts CSC format. The stable sorting is in-place.
The matrix type is regarded as CUSPARSE_MATRIX_TYPE_GENERAL implicitly. In other words, any symmetric property is ignored.
This function cscsort() requires buffer size returned by cscsort_bufferSizeExt(). The address of pBuffer must be multiple of 128 bytes. If not, CUSPARSE_STATUS_INVALID_VALUE is returned.
The parameter P is both input and output. If the user wants to compute sorted cscVal, P must be set as 0:1:(nnz-1) before cscsort(), and after cscsort(), new sorted value array satisfies cscVal_sorted = cscVal(P).
Declaration
public SizeT CscsortBufferSize(int m, int n, int nnz, CudaDeviceVariable<int> cscColPtrA, CudaDeviceVariable<int> cscRowIndA)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cscColPtrA | integer array of n+1 elements that contains the start of every column and the end of the last column plus one. |
| CudaDeviceVariable<System.Int32> | cscRowIndA | integer array of nnz unsorted row indices of A. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer. |
Csr2bsr(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function converts a sparse matrix in CSR format (that is defined by the three arrays csrValA, csrRowPtrA and csrColIndA) into a sparse matrix in BSR format (that is defined by arrays bsrValC, bsrRowPtrC, and bsrColIndC). A is m x n sparse matrix and C is (mbblockDim) x (nbblockDim) sparse matrix.
Declaration
public void Csr2bsr(cusparseDirection dirA, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, int blockDim, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<cuDoubleComplex> bsrValC, CudaDeviceVariable<int> bsrRowPtrC, CudaDeviceVariable<int> bsrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A. The range of blockDim is between 1 and min(m, n). |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. |
| CudaDeviceVariable<cuDoubleComplex> | bsrValC | array of nnzb*blockDim² non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrC | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndC | integer array of nnzb column indices of the non-zero blocks of matrix C. |
Csr2bsr(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function converts a sparse matrix in CSR format (that is defined by the three arrays csrValA, csrRowPtrA and csrColIndA) into a sparse matrix in BSR format (that is defined by arrays bsrValC, bsrRowPtrC, and bsrColIndC). A is m x n sparse matrix and C is (mbblockDim) x (nbblockDim) sparse matrix.
Declaration
public void Csr2bsr(cusparseDirection dirA, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, int blockDim, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<cuFloatComplex> bsrValC, CudaDeviceVariable<int> bsrRowPtrC, CudaDeviceVariable<int> bsrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A. The range of blockDim is between 1 and min(m, n). |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. |
| CudaDeviceVariable<cuFloatComplex> | bsrValC | array of nnzb*blockDim² non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrC | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndC | integer array of nnzb column indices of the non-zero blocks of matrix C. |
Csr2bsr(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function converts a sparse matrix in CSR format (that is defined by the three arrays csrValA, csrRowPtrA and csrColIndA) into a sparse matrix in BSR format (that is defined by arrays bsrValC, bsrRowPtrC, and bsrColIndC). A is m x n sparse matrix and C is (mbblockDim) x (nbblockDim) sparse matrix.
Declaration
public void Csr2bsr(cusparseDirection dirA, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, int blockDim, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> bsrValC, CudaDeviceVariable<int> bsrRowPtrC, CudaDeviceVariable<int> bsrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A. The range of blockDim is between 1 and min(m, n). |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. |
| CudaDeviceVariable<System.Double> | bsrValC | array of nnzb*blockDim² non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrC | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndC | integer array of nnzb column indices of the non-zero blocks of matrix C. |
Csr2bsr(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function converts a sparse matrix in CSR format (that is defined by the three arrays csrValA, csrRowPtrA and csrColIndA) into a sparse matrix in BSR format (that is defined by arrays bsrValC, bsrRowPtrC, and bsrColIndC). A is m x n sparse matrix and C is (mbblockDim) x (nbblockDim) sparse matrix.
Declaration
public void Csr2bsr(cusparseDirection dirA, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, int blockDim, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> bsrValC, CudaDeviceVariable<int> bsrRowPtrC, CudaDeviceVariable<int> bsrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A. The range of blockDim is between 1 and min(m, n). |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. |
| CudaDeviceVariable<System.Single> | bsrValC | array of nnzb*blockDim² non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrC | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColIndC | integer array of nnzb column indices of the non-zero blocks of matrix C. |
Csr2bsrNnz(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function converts a sparse matrix in CSR format (that is defined by the three arrays csrValA, csrRowPtrA and csrColIndA) into a sparse matrix in BSR format (that is defined by arrays bsrValC, bsrRowPtrC, and bsrColIndC). A is m x n sparse matrix and C is (mbblockDim) x (nbblockDim) sparse matrix.
Declaration
public void Csr2bsrNnz(cusparseDirection dirA, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, int blockDim, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> bsrRowPtrC, CudaDeviceVariable<int> nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A. The range of blockDim is between 1 and min(m, n). |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrC | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr |
Csr2bsrNnz(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, ref Int32)
This function converts a sparse matrix in CSR format (that is defined by the three arrays csrValA, csrRowPtrA and csrColIndA) into a sparse matrix in BSR format (that is defined by arrays bsrValC, bsrRowPtrC, and bsrColIndC). A is m x n sparse matrix and C is (mbblockDim) x (nbblockDim) sparse matrix.
Declaration
public void Csr2bsrNnz(cusparseDirection dirA, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, int blockDim, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> bsrRowPtrC, ref int nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| System.Int32 | blockDim | block dimension of sparse matrix A. The range of blockDim is between 1 and min(m, n). |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrC | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| System.Int32 | nnzTotalDevHostPtr |
Csr2csc(Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cusparseAction, cusparseIndexBase)
This routine converts a matrix from CSR to CSC sparse storage format. The resulting matrix can be re-interpreted as a transpose of the original matrix in CSR storage format.
Declaration
public void Csr2csc(int m, int n, CudaDeviceVariable<cuDoubleComplex> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, CudaDeviceVariable<cuDoubleComplex> cscVal, CudaDeviceVariable<int> cscRowInd, CudaDeviceVariable<int> cscColPtr, cusparseAction copyValues, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | csrVal | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtr | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColInd | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuDoubleComplex> | cscVal | Output: array of nnz (= cscRowPtrA(m) - cscRowPtrA(0)) nonzero elements of matrix A. It is only filled-in if copyValues is set to CUSPARSE_ACTION_NUMERIC. |
| CudaDeviceVariable<System.Int32> | cscRowInd | Output: integer array of nnz (= cscRowPtrA(m) - cscRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cscColPtr | Output: integer array of n+1 elements that contains the start of every column and the end of the last column plus one. |
| cusparseAction | copyValues | CUSPARSE_ACTION_SYMBOLIC or CUSPARSE_ACTION_NUMERIC. |
| cusparseIndexBase | idxBase | Index base. |
Csr2csc(Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cusparseAction, cusparseIndexBase)
This routine converts a matrix from CSR to CSC sparse storage format. The resulting matrix can be re-interpreted as a transpose of the original matrix in CSR storage format.
Declaration
public void Csr2csc(int m, int n, CudaDeviceVariable<cuFloatComplex> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, CudaDeviceVariable<cuFloatComplex> cscVal, CudaDeviceVariable<int> cscRowInd, CudaDeviceVariable<int> cscColPtr, cusparseAction copyValues, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | csrVal | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtr | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColInd | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuFloatComplex> | cscVal | Output: array of nnz (= cscRowPtrA(m) - cscRowPtrA(0)) nonzero elements of matrix A. It is only filled-in if copyValues is set to CUSPARSE_ACTION_NUMERIC. |
| CudaDeviceVariable<System.Int32> | cscRowInd | Output: integer array of nnz (= cscRowPtrA(m) - cscRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cscColPtr | Output: integer array of n+1 elements that contains the start of every column and the end of the last column plus one. |
| cusparseAction | copyValues | CUSPARSE_ACTION_SYMBOLIC or CUSPARSE_ACTION_NUMERIC. |
| cusparseIndexBase | idxBase | Index base. |
Csr2csc(Int32, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cusparseAction, cusparseIndexBase)
This routine converts a matrix from CSR to CSC sparse storage format. The resulting matrix can be re-interpreted as a transpose of the original matrix in CSR storage format.
Declaration
public void Csr2csc(int m, int n, CudaDeviceVariable<double> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, CudaDeviceVariable<double> cscVal, CudaDeviceVariable<int> cscRowInd, CudaDeviceVariable<int> cscColPtr, cusparseAction copyValues, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<System.Double> | csrVal | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtr | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColInd | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Double> | cscVal | Output: array of nnz (= cscRowPtrA(m) - cscRowPtrA(0)) nonzero elements of matrix A. It is only filled-in if copyValues is set to CUSPARSE_ACTION_NUMERIC. |
| CudaDeviceVariable<System.Int32> | cscRowInd | Output: integer array of nnz (= cscRowPtrA(m) - cscRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cscColPtr | Output: integer array of n+1 elements that contains the start of every column and the end of the last column plus one. |
| cusparseAction | copyValues | CUSPARSE_ACTION_SYMBOLIC or CUSPARSE_ACTION_NUMERIC. |
| cusparseIndexBase | idxBase | Index base. |
Csr2csc(Int32, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cusparseAction, cusparseIndexBase)
This routine converts a matrix from CSR to CSC sparse storage format. The resulting matrix can be re-interpreted as a transpose of the original matrix in CSR storage format.
Declaration
public void Csr2csc(int m, int n, CudaDeviceVariable<float> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, CudaDeviceVariable<float> cscVal, CudaDeviceVariable<int> cscRowInd, CudaDeviceVariable<int> cscColPtr, cusparseAction copyValues, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<System.Single> | csrVal | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtr | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColInd | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Single> | cscVal | Output: array of nnz (= cscRowPtrA(m) - cscRowPtrA(0)) nonzero elements of matrix A. It is only filled-in if copyValues is set to CUSPARSE_ACTION_NUMERIC. |
| CudaDeviceVariable<System.Int32> | cscRowInd | Output: integer array of nnz (= cscRowPtrA(m) - cscRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cscColPtr | Output: integer array of n+1 elements that contains the start of every column and the end of the last column plus one. |
| cusparseAction | copyValues | CUSPARSE_ACTION_SYMBOLIC or CUSPARSE_ACTION_NUMERIC. |
| cusparseIndexBase | idxBase | Index base. |
Csr2csr_compress(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cuDoubleComplex)
This routine takes as input a csr form where the values may have 0 elements and compresses it to return a csr form with no zeros.
Declaration
public void Csr2csr_compress(int m, int n, CudaSparseMatrixDescriptor descra, CudaDeviceVariable<cuDoubleComplex> inVal, CudaDeviceVariable<int> inColInd, CudaDeviceVariable<int> inRowPtr, int inNnz, CudaDeviceVariable<int> nnzPerRow, CudaDeviceVariable<cuDoubleComplex> outVal, CudaDeviceVariable<int> outColInd, CudaDeviceVariable<int> outRowPtr, cuDoubleComplex tol)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaSparseMatrixDescriptor | descra | |
| CudaDeviceVariable<cuDoubleComplex> | inVal | |
| CudaDeviceVariable<System.Int32> | inColInd | |
| CudaDeviceVariable<System.Int32> | inRowPtr | |
| System.Int32 | inNnz | |
| CudaDeviceVariable<System.Int32> | nnzPerRow | |
| CudaDeviceVariable<cuDoubleComplex> | outVal | |
| CudaDeviceVariable<System.Int32> | outColInd | |
| CudaDeviceVariable<System.Int32> | outRowPtr | |
| cuDoubleComplex | tol |
Csr2csr_compress(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cuFloatComplex)
This routine takes as input a csr form where the values may have 0 elements and compresses it to return a csr form with no zeros.
Declaration
public void Csr2csr_compress(int m, int n, CudaSparseMatrixDescriptor descra, CudaDeviceVariable<cuFloatComplex> inVal, CudaDeviceVariable<int> inColInd, CudaDeviceVariable<int> inRowPtr, int inNnz, CudaDeviceVariable<int> nnzPerRow, CudaDeviceVariable<cuFloatComplex> outVal, CudaDeviceVariable<int> outColInd, CudaDeviceVariable<int> outRowPtr, cuFloatComplex tol)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaSparseMatrixDescriptor | descra | |
| CudaDeviceVariable<cuFloatComplex> | inVal | |
| CudaDeviceVariable<System.Int32> | inColInd | |
| CudaDeviceVariable<System.Int32> | inRowPtr | |
| System.Int32 | inNnz | |
| CudaDeviceVariable<System.Int32> | nnzPerRow | |
| CudaDeviceVariable<cuFloatComplex> | outVal | |
| CudaDeviceVariable<System.Int32> | outColInd | |
| CudaDeviceVariable<System.Int32> | outRowPtr | |
| cuFloatComplex | tol |
Csr2csr_compress(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Double)
This routine takes as input a csr form where the values may have 0 elements and compresses it to return a csr form with no zeros.
Declaration
public void Csr2csr_compress(int m, int n, CudaSparseMatrixDescriptor descra, CudaDeviceVariable<double> inVal, CudaDeviceVariable<int> inColInd, CudaDeviceVariable<int> inRowPtr, int inNnz, CudaDeviceVariable<int> nnzPerRow, CudaDeviceVariable<double> outVal, CudaDeviceVariable<int> outColInd, CudaDeviceVariable<int> outRowPtr, double tol)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaSparseMatrixDescriptor | descra | |
| CudaDeviceVariable<System.Double> | inVal | |
| CudaDeviceVariable<System.Int32> | inColInd | |
| CudaDeviceVariable<System.Int32> | inRowPtr | |
| System.Int32 | inNnz | |
| CudaDeviceVariable<System.Int32> | nnzPerRow | |
| CudaDeviceVariable<System.Double> | outVal | |
| CudaDeviceVariable<System.Int32> | outColInd | |
| CudaDeviceVariable<System.Int32> | outRowPtr | |
| System.Double | tol |
Csr2csr_compress(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single)
This routine takes as input a csr form where the values may have 0 elements and compresses it to return a csr form with no zeros.
Declaration
public void Csr2csr_compress(int m, int n, CudaSparseMatrixDescriptor descra, CudaDeviceVariable<float> inVal, CudaDeviceVariable<int> inColInd, CudaDeviceVariable<int> inRowPtr, int inNnz, CudaDeviceVariable<int> nnzPerRow, CudaDeviceVariable<float> outVal, CudaDeviceVariable<int> outColInd, CudaDeviceVariable<int> outRowPtr, float tol)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaSparseMatrixDescriptor | descra | |
| CudaDeviceVariable<System.Single> | inVal | |
| CudaDeviceVariable<System.Int32> | inColInd | |
| CudaDeviceVariable<System.Int32> | inRowPtr | |
| System.Int32 | inNnz | |
| CudaDeviceVariable<System.Int32> | nnzPerRow | |
| CudaDeviceVariable<System.Single> | outVal | |
| CudaDeviceVariable<System.Int32> | outColInd | |
| CudaDeviceVariable<System.Int32> | outRowPtr | |
| System.Single | tol |
Csr2csru(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsru2csrInfo, CudaDeviceVariable<Byte>)
This function transfers unsorted CSR format to CSR format, and vice versa. The operation is in-place.
Declaration
public void Csr2csru(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, CudaSparseCsru2csrInfo info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL, Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | csrVal | array of nnz unsorted nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtr | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColInd | integer array of nnz unsorted column indices of A. |
| CudaSparseCsru2csrInfo | info | opaque structure initialized using cusparseCreateCsru2csrInfo(). |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by Csru2csrBufferSize(). |
Csr2csru(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsru2csrInfo, CudaDeviceVariable<Byte>)
This function transfers unsorted CSR format to CSR format, and vice versa. The operation is in-place.
Declaration
public void Csr2csru(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, CudaSparseCsru2csrInfo info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL, Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | csrVal | array of nnz unsorted nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtr | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColInd | integer array of nnz unsorted column indices of A. |
| CudaSparseCsru2csrInfo | info | opaque structure initialized using cusparseCreateCsru2csrInfo(). |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by Csru2csrBufferSize(). |
Csr2csru(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsru2csrInfo, CudaDeviceVariable<Byte>)
This function transfers unsorted CSR format to CSR format, and vice versa. The operation is in-place.
Declaration
public void Csr2csru(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, CudaSparseCsru2csrInfo info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL, Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | csrVal | array of nnz unsorted nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtr | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColInd | integer array of nnz unsorted column indices of A. |
| CudaSparseCsru2csrInfo | info | opaque structure initialized using cusparseCreateCsru2csrInfo(). |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by Csru2csrBufferSize(). |
Csr2csru(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsru2csrInfo, CudaDeviceVariable<Byte>)
This function transfers unsorted CSR format to CSR format, and vice versa. The operation is in-place.
Declaration
public void Csr2csru(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, CudaSparseCsru2csrInfo info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL, Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | csrVal | array of nnz unsorted nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtr | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColInd | integer array of nnz unsorted column indices of A. |
| CudaSparseCsru2csrInfo | info | opaque structure initialized using cusparseCreateCsru2csrInfo(). |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by Csru2csrBufferSize(). |
Csr2dense(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, Int32)
This routine converts a sparse matrix in CSR storage format to a dense matrix.
Declaration
public void Csr2dense(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuDoubleComplex> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | A | Output: array of dimensions (lda, n) that is filled in with the values of the sparse matrix. |
| System.Int32 | lda | leading dimension of array matrix A. |
Csr2dense(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, Int32)
This routine converts a sparse matrix in CSR storage format to a dense matrix.
Declaration
public void Csr2dense(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuFloatComplex> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | A | Output: array of dimensions (lda, n) that is filled in with the values of the sparse matrix. |
| System.Int32 | lda | leading dimension of array matrix A. |
Csr2dense(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, Int32)
This routine converts a sparse matrix in CSR storage format to a dense matrix.
Declaration
public void Csr2dense(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<double> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| CudaDeviceVariable<System.Double> | A | Output: array of dimensions (lda, n) that is filled in with the values of the sparse matrix. |
| System.Int32 | lda | leading dimension of array matrix A. |
Csr2dense(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, Int32)
This routine converts a sparse matrix in CSR storage format to a dense matrix.
Declaration
public void Csr2dense(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<float> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| CudaDeviceVariable<System.Single> | A | Output: array of dimensions (lda, n) that is filled in with the values of the sparse matrix. |
| System.Int32 | lda | leading dimension of array matrix A. |
Csr2gebsr(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaDeviceVariable<Byte>)
This function converts a sparse matrix A in CSR format (that is defined by arrays csrValA, csrRowPtrA, and csrColIndA) into a sparse matrix C in general BSR format (that is defined by the three arrays bsrValC, bsrRowPtrC, and bsrColIndC).
Declaration
public void Csr2gebsr(cusparseDirection dirA, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<cuDoubleComplex> bsrValC, CudaDeviceVariable<int> bsrRowPtrC, CudaDeviceVariable<int> bsrColIndC, int rowBlockDim, int colBlockDim, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one of matrix A |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | bsrValC | array of nnzbrowBlockDimcolBlockDim nonzero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrC | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrColIndC | Pointer nnzTotalDevHostPtr can point to a device memory or host memory. |
| System.Int32 | rowBlockDim | number of rows within a block of C. |
| System.Int32 | colBlockDim | number of columns within a block of C. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is return by csr2gebsr_bufferSizeExt(). |
Csr2gebsr(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaDeviceVariable<Byte>)
This function converts a sparse matrix A in CSR format (that is defined by arrays csrValA, csrRowPtrA, and csrColIndA) into a sparse matrix C in general BSR format (that is defined by the three arrays bsrValC, bsrRowPtrC, and bsrColIndC).
Declaration
public void Csr2gebsr(cusparseDirection dirA, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<cuFloatComplex> bsrValC, CudaDeviceVariable<int> bsrRowPtrC, CudaDeviceVariable<int> bsrColIndC, int rowBlockDim, int colBlockDim, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one of matrix A |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | bsrValC | array of nnzbrowBlockDimcolBlockDim nonzero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrC | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrColIndC | Pointer nnzTotalDevHostPtr can point to a device memory or host memory. |
| System.Int32 | rowBlockDim | number of rows within a block of C. |
| System.Int32 | colBlockDim | number of columns within a block of C. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is return by csr2gebsr_bufferSizeExt(). |
Csr2gebsr(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaDeviceVariable<Byte>)
This function converts a sparse matrix A in CSR format (that is defined by arrays csrValA, csrRowPtrA, and csrColIndA) into a sparse matrix C in general BSR format (that is defined by the three arrays bsrValC, bsrRowPtrC, and bsrColIndC).
Declaration
public void Csr2gebsr(cusparseDirection dirA, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> bsrValC, CudaDeviceVariable<int> bsrRowPtrC, CudaDeviceVariable<int> bsrColIndC, int rowBlockDim, int colBlockDim, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one of matrix A |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | bsrValC | array of nnzbrowBlockDimcolBlockDim nonzero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrC | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrColIndC | Pointer nnzTotalDevHostPtr can point to a device memory or host memory. |
| System.Int32 | rowBlockDim | number of rows within a block of C. |
| System.Int32 | colBlockDim | number of columns within a block of C. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is return by csr2gebsr_bufferSizeExt(). |
Csr2gebsr(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaDeviceVariable<Byte>)
This function converts a sparse matrix A in CSR format (that is defined by arrays csrValA, csrRowPtrA, and csrColIndA) into a sparse matrix C in general BSR format (that is defined by the three arrays bsrValC, bsrRowPtrC, and bsrColIndC).
Declaration
public void Csr2gebsr(cusparseDirection dirA, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> bsrValC, CudaDeviceVariable<int> bsrRowPtrC, CudaDeviceVariable<int> bsrColIndC, int rowBlockDim, int colBlockDim, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one of matrix A |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | bsrValC | array of nnzbrowBlockDimcolBlockDim nonzero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrC | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrColIndC | Pointer nnzTotalDevHostPtr can point to a device memory or host memory. |
| System.Int32 | rowBlockDim | number of rows within a block of C. |
| System.Int32 | colBlockDim | number of columns within a block of C. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is return by csr2gebsr_bufferSizeExt(). |
Csr2gebsrBufferSize(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32)
This function returns the size of the buffer used in computing csr2gebsrNnz and csr2gebsr.
Declaration
public SizeT Csr2gebsrBufferSize(cusparseDirection dir, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, int rowBlockDim, int colBlockDim)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dir | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | csrVal | array of nnz nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtr | integer array of m+1 elements that contains the start of every row and the end of the last row plus one of matrix A. |
| CudaDeviceVariable<System.Int32> | csrColInd | integer array of nnz column indices of the nonzero elements of matrix A. |
| System.Int32 | rowBlockDim | number of rows within a block of C. |
| System.Int32 | colBlockDim | number of columns within a block of C. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in csr2gebsrNnz() and csr2gebsr(). |
Csr2gebsrBufferSize(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32)
This function returns the size of the buffer used in computing csr2gebsrNnz and csr2gebsr.
Declaration
public SizeT Csr2gebsrBufferSize(cusparseDirection dir, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, int rowBlockDim, int colBlockDim)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dir | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | csrVal | array of nnz nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtr | integer array of m+1 elements that contains the start of every row and the end of the last row plus one of matrix A. |
| CudaDeviceVariable<System.Int32> | csrColInd | integer array of nnz column indices of the nonzero elements of matrix A. |
| System.Int32 | rowBlockDim | number of rows within a block of C. |
| System.Int32 | colBlockDim | number of columns within a block of C. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in csr2gebsrNnz() and csr2gebsr(). |
Csr2gebsrBufferSize(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32)
This function returns the size of the buffer used in computing csr2gebsrNnz and csr2gebsr.
Declaration
public SizeT Csr2gebsrBufferSize(cusparseDirection dir, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, int rowBlockDim, int colBlockDim)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dir | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | csrVal | array of nnz nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtr | integer array of m+1 elements that contains the start of every row and the end of the last row plus one of matrix A. |
| CudaDeviceVariable<System.Int32> | csrColInd | integer array of nnz column indices of the nonzero elements of matrix A. |
| System.Int32 | rowBlockDim | number of rows within a block of C. |
| System.Int32 | colBlockDim | number of columns within a block of C. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in csr2gebsrNnz() and csr2gebsr(). |
Csr2gebsrBufferSize(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32)
This function returns the size of the buffer used in computing csr2gebsrNnz and csr2gebsr.
Declaration
public SizeT Csr2gebsrBufferSize(cusparseDirection dir, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, int rowBlockDim, int colBlockDim)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dir | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | csrVal | array of nnz nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtr | integer array of m+1 elements that contains the start of every row and the end of the last row plus one of matrix A. |
| CudaDeviceVariable<System.Int32> | csrColInd | integer array of nnz column indices of the nonzero elements of matrix A. |
| System.Int32 | rowBlockDim | number of rows within a block of C. |
| System.Int32 | colBlockDim | number of columns within a block of C. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in csr2gebsrNnz() and csr2gebsr(). |
Csr2gebsrNnz(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, Int32, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
This function converts a sparse matrix A in CSR format (that is defined by arrays csrValA, csrRowPtrA, and csrColIndA) into a sparse matrix C in general BSR format (that is defined by the three arrays bsrValC, bsrRowPtrC, and bsrColIndC).
Declaration
public void Csr2gebsrNnz(cusparseDirection dirA, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> bsrRowPtrC, int rowBlockDim, int colBlockDim, CudaDeviceVariable<int> nnzTotalDevHostPtr, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one of matrix A |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrC | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one of matrix C. |
| System.Int32 | rowBlockDim | number of rows within a block of C. |
| System.Int32 | colBlockDim | number of columns within a block of C. |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr | total number of nonzero blocks of matrix C. Pointer nnzTotalDevHostPtr can point to a device memory or host memory. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is return by csr2gebsr_bufferSizeExt(). |
Csr2gebsrNnz(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, Int32, Int32, ref Int32, CudaDeviceVariable<Byte>)
This function converts a sparse matrix A in CSR format (that is defined by arrays csrValA, csrRowPtrA, and csrColIndA) into a sparse matrix C in general BSR format (that is defined by the three arrays bsrValC, bsrRowPtrC, and bsrColIndC).
Declaration
public void Csr2gebsrNnz(cusparseDirection dirA, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> bsrRowPtrC, int rowBlockDim, int colBlockDim, ref int nnzTotalDevHostPtr, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one of matrix A |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrC | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one of matrix C. |
| System.Int32 | rowBlockDim | number of rows within a block of C. |
| System.Int32 | colBlockDim | number of columns within a block of C. |
| System.Int32 | nnzTotalDevHostPtr | total number of nonzero blocks of matrix C. Pointer nnzTotalDevHostPtr can point to a device memory or host memory. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is return by csr2gebsr_bufferSizeExt(). |
Csr2hyb(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseHybMat, Int32, cusparseHybPartition)
This routine converts a sparse matrix in CSR storage format to a sparse matrix in HYB storage format.
Declaration
public void Csr2hyb(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseHybMat hybA, int userEllWidth, cusparseHybPartition partitionType)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A in CSR format. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| System.Int32 | userEllWidth | width of the regular (ELL) part of the matrix in HYB format, which should be less than maximum number of non-zeros per row and is only required if partitionType == CUSPARSE_HYB_PARTITION_USER. |
| cusparseHybPartition | partitionType | partitioning method to be used in the conversion (please refer to cusparseHybPartition_t on page 15 for details). |
Csr2hyb(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseHybMat, Int32, cusparseHybPartition)
This routine converts a sparse matrix in CSR storage format to a sparse matrix in HYB storage format.
Declaration
public void Csr2hyb(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseHybMat hybA, int userEllWidth, cusparseHybPartition partitionType)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A in CSR format. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| System.Int32 | userEllWidth | width of the regular (ELL) part of the matrix in HYB format, which should be less than maximum number of non-zeros per row and is only required if partitionType == CUSPARSE_HYB_PARTITION_USER. |
| cusparseHybPartition | partitionType | partitioning method to be used in the conversion (please refer to cusparseHybPartition_t on page 15 for details). |
Csr2hyb(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseHybMat, Int32, cusparseHybPartition)
This routine converts a sparse matrix in CSR storage format to a sparse matrix in HYB storage format.
Declaration
public void Csr2hyb(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseHybMat hybA, int userEllWidth, cusparseHybPartition partitionType)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A in CSR format. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| System.Int32 | userEllWidth | width of the regular (ELL) part of the matrix in HYB format, which should be less than maximum number of non-zeros per row and is only required if partitionType == CUSPARSE_HYB_PARTITION_USER. |
| cusparseHybPartition | partitionType | partitioning method to be used in the conversion (please refer to cusparseHybPartition_t on page 15 for details). |
Csr2hyb(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseHybMat, Int32, cusparseHybPartition)
This routine converts a sparse matrix in CSR storage format to a sparse matrix in HYB storage format.
Declaration
public void Csr2hyb(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseHybMat hybA, int userEllWidth, cusparseHybPartition partitionType)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A in CSR format. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| System.Int32 | userEllWidth | width of the regular (ELL) part of the matrix in HYB format, which should be less than maximum number of non-zeros per row and is only required if partitionType == CUSPARSE_HYB_PARTITION_USER. |
| cusparseHybPartition | partitionType | partitioning method to be used in the conversion (please refer to cusparseHybPartition_t on page 15 for details). |
Csrcolor(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseColorInfo)
This function performs the coloring of the adjacency graph associated with the matrix A stored in CSR format. The coloring is an assignment of colors (integer numbers) to nodes, such that neighboring nodes have distinct colors. An approximate coloring algorithm is used in this routine, and is stopped when a certain percentage of nodes has been colored. The rest of the nodes are assigned distinct colors (an increasing sequence of integers numbers, starting from the last integer used previously). The last two auxiliary routines can be used to extract the resulting number of colors, their assignment and the associated reordering. The reordering is such that nodes that have been assigned the same color are reordered to be next to each other.
The matrix A passed to this routine, must be stored as a general matrix and have a symmetric sparsity pattern. If the matrix is nonsymmetric the user should pass A+A^T as a parameter to this routine.
Declaration
public void Csrcolor(int m, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrSortedValA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaDeviceVariable<double> fractionToColor, CudaDeviceVariable<int> ncolors, CudaDeviceVariable<int> coloring, CudaDeviceVariable<int> reordering, CudaSparseColorInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | csrSortedValA | array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnz csrRowPtrA(m) csrRowPtrA(0) column indices of the nonzero elements of matrix A. |
| CudaDeviceVariable<System.Double> | fractionToColor | fraction of nodes to be colored, which should be in the interval [0.0,1.0], for example 0.8 implies that 80 percent of nodes will be colored. |
| CudaDeviceVariable<System.Int32> | ncolors | The number of distinct colors used (at most the size of the matrix, but likely much smaller). |
| CudaDeviceVariable<System.Int32> | coloring | The resulting coloring permutation. |
| CudaDeviceVariable<System.Int32> | reordering | The resulting reordering permutation (untouched if NULL) |
| CudaSparseColorInfo | info | structure with information to be passed to the coloring. |
Csrcolor(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Double, ref Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseColorInfo)
This function performs the coloring of the adjacency graph associated with the matrix A stored in CSR format. The coloring is an assignment of colors (integer numbers) to nodes, such that neighboring nodes have distinct colors. An approximate coloring algorithm is used in this routine, and is stopped when a certain percentage of nodes has been colored. The rest of the nodes are assigned distinct colors (an increasing sequence of integers numbers, starting from the last integer used previously). The last two auxiliary routines can be used to extract the resulting number of colors, their assignment and the associated reordering. The reordering is such that nodes that have been assigned the same color are reordered to be next to each other.
The matrix A passed to this routine, must be stored as a general matrix and have a symmetric sparsity pattern. If the matrix is nonsymmetric the user should pass A+A^T as a parameter to this routine.
Declaration
public void Csrcolor(int m, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrSortedValA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, double fractionToColor, ref int ncolors, CudaDeviceVariable<int> coloring, CudaDeviceVariable<int> reordering, CudaSparseColorInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | csrSortedValA | array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnz csrRowPtrA(m) csrRowPtrA(0) column indices of the nonzero elements of matrix A. |
| System.Double | fractionToColor | fraction of nodes to be colored, which should be in the interval [0.0,1.0], for example 0.8 implies that 80 percent of nodes will be colored. |
| System.Int32 | ncolors | The number of distinct colors used (at most the size of the matrix, but likely much smaller). |
| CudaDeviceVariable<System.Int32> | coloring | The resulting coloring permutation. |
| CudaDeviceVariable<System.Int32> | reordering | The resulting reordering permutation (untouched if NULL) |
| CudaSparseColorInfo | info | structure with information to be passed to the coloring. |
Csrcolor(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseColorInfo)
This function performs the coloring of the adjacency graph associated with the matrix A stored in CSR format. The coloring is an assignment of colors (integer numbers) to nodes, such that neighboring nodes have distinct colors. An approximate coloring algorithm is used in this routine, and is stopped when a certain percentage of nodes has been colored. The rest of the nodes are assigned distinct colors (an increasing sequence of integers numbers, starting from the last integer used previously). The last two auxiliary routines can be used to extract the resulting number of colors, their assignment and the associated reordering. The reordering is such that nodes that have been assigned the same color are reordered to be next to each other.
The matrix A passed to this routine, must be stored as a general matrix and have a symmetric sparsity pattern. If the matrix is nonsymmetric the user should pass A+A^T as a parameter to this routine.
Declaration
public void Csrcolor(int m, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrSortedValA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaDeviceVariable<float> fractionToColor, CudaDeviceVariable<int> ncolors, CudaDeviceVariable<int> coloring, CudaDeviceVariable<int> reordering, CudaSparseColorInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | csrSortedValA | array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnz csrRowPtrA(m) csrRowPtrA(0) column indices of the nonzero elements of matrix A. |
| CudaDeviceVariable<System.Single> | fractionToColor | fraction of nodes to be colored, which should be in the interval [0.0,1.0], for example 0.8 implies that 80 percent of nodes will be colored. |
| CudaDeviceVariable<System.Int32> | ncolors | The number of distinct colors used (at most the size of the matrix, but likely much smaller). |
| CudaDeviceVariable<System.Int32> | coloring | The resulting coloring permutation. |
| CudaDeviceVariable<System.Int32> | reordering | The resulting reordering permutation (untouched if NULL) |
| CudaSparseColorInfo | info | structure with information to be passed to the coloring. |
Csrcolor(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, ref Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseColorInfo)
This function performs the coloring of the adjacency graph associated with the matrix A stored in CSR format. The coloring is an assignment of colors (integer numbers) to nodes, such that neighboring nodes have distinct colors. An approximate coloring algorithm is used in this routine, and is stopped when a certain percentage of nodes has been colored. The rest of the nodes are assigned distinct colors (an increasing sequence of integers numbers, starting from the last integer used previously). The last two auxiliary routines can be used to extract the resulting number of colors, their assignment and the associated reordering. The reordering is such that nodes that have been assigned the same color are reordered to be next to each other.
The matrix A passed to this routine, must be stored as a general matrix and have a symmetric sparsity pattern. If the matrix is nonsymmetric the user should pass A+A^T as a parameter to this routine.
Declaration
public void Csrcolor(int m, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrSortedValA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, float fractionToColor, ref int ncolors, CudaDeviceVariable<int> coloring, CudaDeviceVariable<int> reordering, CudaSparseColorInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | csrSortedValA | array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnz csrRowPtrA(m) csrRowPtrA(0) column indices of the nonzero elements of matrix A. |
| System.Single | fractionToColor | fraction of nodes to be colored, which should be in the interval [0.0,1.0], for example 0.8 implies that 80 percent of nodes will be colored. |
| System.Int32 | ncolors | The number of distinct colors used (at most the size of the matrix, but likely much smaller). |
| CudaDeviceVariable<System.Int32> | coloring | The resulting coloring permutation. |
| CudaDeviceVariable<System.Int32> | reordering | The resulting reordering permutation (untouched if NULL) |
| CudaSparseColorInfo | info | structure with information to be passed to the coloring. |
Csrcolor(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseColorInfo)
This function performs the coloring of the adjacency graph associated with the matrix A stored in CSR format. The coloring is an assignment of colors (integer numbers) to nodes, such that neighboring nodes have distinct colors. An approximate coloring algorithm is used in this routine, and is stopped when a certain percentage of nodes has been colored. The rest of the nodes are assigned distinct colors (an increasing sequence of integers numbers, starting from the last integer used previously). The last two auxiliary routines can be used to extract the resulting number of colors, their assignment and the associated reordering. The reordering is such that nodes that have been assigned the same color are reordered to be next to each other.
The matrix A passed to this routine, must be stored as a general matrix and have a symmetric sparsity pattern. If the matrix is nonsymmetric the user should pass A+A^T as a parameter to this routine.
Declaration
public void Csrcolor(int m, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrSortedValA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaDeviceVariable<double> fractionToColor, CudaDeviceVariable<int> ncolors, CudaDeviceVariable<int> coloring, CudaDeviceVariable<int> reordering, CudaSparseColorInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | csrSortedValA | array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnz csrRowPtrA(m) csrRowPtrA(0) column indices of the nonzero elements of matrix A. |
| CudaDeviceVariable<System.Double> | fractionToColor | fraction of nodes to be colored, which should be in the interval [0.0,1.0], for example 0.8 implies that 80 percent of nodes will be colored. |
| CudaDeviceVariable<System.Int32> | ncolors | The number of distinct colors used (at most the size of the matrix, but likely much smaller). |
| CudaDeviceVariable<System.Int32> | coloring | The resulting coloring permutation. |
| CudaDeviceVariable<System.Int32> | reordering | The resulting reordering permutation (untouched if NULL) |
| CudaSparseColorInfo | info | structure with information to be passed to the coloring. |
Csrcolor(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Double, ref Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseColorInfo)
This function performs the coloring of the adjacency graph associated with the matrix A stored in CSR format. The coloring is an assignment of colors (integer numbers) to nodes, such that neighboring nodes have distinct colors. An approximate coloring algorithm is used in this routine, and is stopped when a certain percentage of nodes has been colored. The rest of the nodes are assigned distinct colors (an increasing sequence of integers numbers, starting from the last integer used previously). The last two auxiliary routines can be used to extract the resulting number of colors, their assignment and the associated reordering. The reordering is such that nodes that have been assigned the same color are reordered to be next to each other.
The matrix A passed to this routine, must be stored as a general matrix and have a symmetric sparsity pattern. If the matrix is nonsymmetric the user should pass A+A^T as a parameter to this routine.
Declaration
public void Csrcolor(int m, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrSortedValA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, double fractionToColor, ref int ncolors, CudaDeviceVariable<int> coloring, CudaDeviceVariable<int> reordering, CudaSparseColorInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | csrSortedValA | array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnz csrRowPtrA(m) csrRowPtrA(0) column indices of the nonzero elements of matrix A. |
| System.Double | fractionToColor | fraction of nodes to be colored, which should be in the interval [0.0,1.0], for example 0.8 implies that 80 percent of nodes will be colored. |
| System.Int32 | ncolors | The number of distinct colors used (at most the size of the matrix, but likely much smaller). |
| CudaDeviceVariable<System.Int32> | coloring | The resulting coloring permutation. |
| CudaDeviceVariable<System.Int32> | reordering | The resulting reordering permutation (untouched if NULL) |
| CudaSparseColorInfo | info | structure with information to be passed to the coloring. |
Csrcolor(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseColorInfo)
This function performs the coloring of the adjacency graph associated with the matrix A stored in CSR format. The coloring is an assignment of colors (integer numbers) to nodes, such that neighboring nodes have distinct colors. An approximate coloring algorithm is used in this routine, and is stopped when a certain percentage of nodes has been colored. The rest of the nodes are assigned distinct colors (an increasing sequence of integers numbers, starting from the last integer used previously). The last two auxiliary routines can be used to extract the resulting number of colors, their assignment and the associated reordering. The reordering is such that nodes that have been assigned the same color are reordered to be next to each other.
The matrix A passed to this routine, must be stored as a general matrix and have a symmetric sparsity pattern. If the matrix is nonsymmetric the user should pass A+A^T as a parameter to this routine.
Declaration
public void Csrcolor(int m, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrSortedValA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaDeviceVariable<float> fractionToColor, CudaDeviceVariable<int> ncolors, CudaDeviceVariable<int> coloring, CudaDeviceVariable<int> reordering, CudaSparseColorInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | csrSortedValA | array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnz csrRowPtrA(m) csrRowPtrA(0) column indices of the nonzero elements of matrix A. |
| CudaDeviceVariable<System.Single> | fractionToColor | fraction of nodes to be colored, which should be in the interval [0.0,1.0], for example 0.8 implies that 80 percent of nodes will be colored. |
| CudaDeviceVariable<System.Int32> | ncolors | The number of distinct colors used (at most the size of the matrix, but likely much smaller). |
| CudaDeviceVariable<System.Int32> | coloring | The resulting coloring permutation. |
| CudaDeviceVariable<System.Int32> | reordering | The resulting reordering permutation (untouched if NULL) |
| CudaSparseColorInfo | info | structure with information to be passed to the coloring. |
Csrcolor(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, ref Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseColorInfo)
This function performs the coloring of the adjacency graph associated with the matrix A stored in CSR format. The coloring is an assignment of colors (integer numbers) to nodes, such that neighboring nodes have distinct colors. An approximate coloring algorithm is used in this routine, and is stopped when a certain percentage of nodes has been colored. The rest of the nodes are assigned distinct colors (an increasing sequence of integers numbers, starting from the last integer used previously). The last two auxiliary routines can be used to extract the resulting number of colors, their assignment and the associated reordering. The reordering is such that nodes that have been assigned the same color are reordered to be next to each other.
The matrix A passed to this routine, must be stored as a general matrix and have a symmetric sparsity pattern. If the matrix is nonsymmetric the user should pass A+A^T as a parameter to this routine.
Declaration
public void Csrcolor(int m, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrSortedValA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, float fractionToColor, ref int ncolors, CudaDeviceVariable<int> coloring, CudaDeviceVariable<int> reordering, CudaSparseColorInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | csrSortedValA | array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnz csrRowPtrA(m) csrRowPtrA(0) column indices of the nonzero elements of matrix A. |
| System.Single | fractionToColor | fraction of nodes to be colored, which should be in the interval [0.0,1.0], for example 0.8 implies that 80 percent of nodes will be colored. |
| System.Int32 | ncolors | The number of distinct colors used (at most the size of the matrix, but likely much smaller). |
| CudaDeviceVariable<System.Int32> | coloring | The resulting coloring permutation. |
| CudaDeviceVariable<System.Int32> | reordering | The resulting reordering permutation (untouched if NULL) |
| CudaSparseColorInfo | info | structure with information to be passed to the coloring. |
Csrgeam(Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function performs following matrix-matrix operation
C = alpha * A + beta * B
where A, B and C are m x n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValC, csrRowPtrA|csrRowPtrB|csrRowPtrC, and csrColIndA|csrColIndB|csrcolIndC respectively), and alpha and beta are scalars. Since A and B have different sparsity patterns, CUSPARSE adopts two-step approach to complete sparse matrix C.
Declaration
public void Csrgeam(int m, int n, CudaDeviceVariable<cuDoubleComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuDoubleComplex> beta, CudaSparseMatrixDescriptor descrB, CudaDeviceVariable<cuDoubleComplex> csrValB, CudaDeviceVariable<int> csrRowPtrB, CudaDeviceVariable<int> csrColIndB, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<cuDoubleComplex> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A,B,C. |
| System.Int32 | n | number of columns of sparse matrix A,B,C. |
| CudaDeviceVariable<cuDoubleComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_ MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnzA non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnzA column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzzA passed to CUSPARSE. |
| CudaDeviceVariable<cuDoubleComplex> | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuDoubleComplex> | csrValB | array of nnzB non-zero elements of matrix B. |
| CudaDeviceVariable<System.Int32> | csrRowPtrB | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndB | integer array of nnzB column indices of the non-zero elements of matrix B. Length of csrColIndB gives the number nzzB passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuDoubleComplex> | csrValC | array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndC | integer array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) column indices of the non-zero elements of matrix C. |
Csrgeam(Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function performs following matrix-matrix operation
C = alpha * A + beta * B
where A, B and C are m x n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValC, csrRowPtrA|csrRowPtrB|csrRowPtrC, and csrColIndA|csrColIndB|csrcolIndC respectively), and alpha and beta are scalars. Since A and B have different sparsity patterns, CUSPARSE adopts two-step approach to complete sparse matrix C.
Declaration
public void Csrgeam(int m, int n, CudaDeviceVariable<cuFloatComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuFloatComplex> beta, CudaSparseMatrixDescriptor descrB, CudaDeviceVariable<cuFloatComplex> csrValB, CudaDeviceVariable<int> csrRowPtrB, CudaDeviceVariable<int> csrColIndB, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<cuFloatComplex> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A,B,C. |
| System.Int32 | n | number of columns of sparse matrix A,B,C. |
| CudaDeviceVariable<cuFloatComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_ MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnzA non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnzA column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzzA passed to CUSPARSE. |
| CudaDeviceVariable<cuFloatComplex> | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuFloatComplex> | csrValB | array of nnzB non-zero elements of matrix B. |
| CudaDeviceVariable<System.Int32> | csrRowPtrB | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndB | integer array of nnzB column indices of the non-zero elements of matrix B. Length of csrColIndB gives the number nzzB passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuFloatComplex> | csrValC | array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndC | integer array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) column indices of the non-zero elements of matrix C. |
Csrgeam(Int32, Int32, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function performs following matrix-matrix operation
C = alpha * A + beta * B
where A, B and C are m x n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValC, csrRowPtrA|csrRowPtrB|csrRowPtrC, and csrColIndA|csrColIndB|csrcolIndC respectively), and alpha and beta are scalars. Since A and B have different sparsity patterns, CUSPARSE adopts two-step approach to complete sparse matrix C.
Declaration
public void Csrgeam(int m, int n, CudaDeviceVariable<double> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<double> beta, CudaSparseMatrixDescriptor descrB, CudaDeviceVariable<double> csrValB, CudaDeviceVariable<int> csrRowPtrB, CudaDeviceVariable<int> csrColIndB, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A,B,C. |
| System.Int32 | n | number of columns of sparse matrix A,B,C. |
| CudaDeviceVariable<System.Double> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_ MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnzA non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnzA column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzzA passed to CUSPARSE. |
| CudaDeviceVariable<System.Double> | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Double> | csrValB | array of nnzB non-zero elements of matrix B. |
| CudaDeviceVariable<System.Int32> | csrRowPtrB | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndB | integer array of nnzB column indices of the non-zero elements of matrix B. Length of csrColIndB gives the number nzzB passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Double> | csrValC | array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndC | integer array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) column indices of the non-zero elements of matrix C. |
Csrgeam(Int32, Int32, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function performs following matrix-matrix operation
C = alpha * A + beta * B
where A, B and C are m x n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValC, csrRowPtrA|csrRowPtrB|csrRowPtrC, and csrColIndA|csrColIndB|csrcolIndC respectively), and alpha and beta are scalars. Since A and B have different sparsity patterns, CUSPARSE adopts two-step approach to complete sparse matrix C.
Declaration
public void Csrgeam(int m, int n, CudaDeviceVariable<float> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<float> beta, CudaSparseMatrixDescriptor descrB, CudaDeviceVariable<float> csrValB, CudaDeviceVariable<int> csrRowPtrB, CudaDeviceVariable<int> csrColIndB, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A,B,C. |
| System.Int32 | n | number of columns of sparse matrix A,B,C. |
| CudaDeviceVariable<System.Single> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_ MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnzA non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnzA column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzzA passed to CUSPARSE. |
| CudaDeviceVariable<System.Single> | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Single> | csrValB | array of nnzB non-zero elements of matrix B. |
| CudaDeviceVariable<System.Int32> | csrRowPtrB | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndB | integer array of nnzB column indices of the non-zero elements of matrix B. Length of csrColIndB gives the number nzzB passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Single> | csrValC | array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndC | integer array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) column indices of the non-zero elements of matrix C. |
Csrgeam(Int32, Int32, cuDoubleComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cuDoubleComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function performs following matrix-matrix operation
C = alpha * A + beta * B
where A, B and C are m x n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValC, csrRowPtrA|csrRowPtrB|csrRowPtrC, and csrColIndA|csrColIndB|csrcolIndC respectively), and alpha and beta are scalars. Since A and B have different sparsity patterns, CUSPARSE adopts two-step approach to complete sparse matrix C.
Declaration
public void Csrgeam(int m, int n, cuDoubleComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, cuDoubleComplex beta, CudaSparseMatrixDescriptor descrB, CudaDeviceVariable<cuDoubleComplex> csrValB, CudaDeviceVariable<int> csrRowPtrB, CudaDeviceVariable<int> csrColIndB, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<cuDoubleComplex> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A,B,C. |
| System.Int32 | n | number of columns of sparse matrix A,B,C. |
| cuDoubleComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_ MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnzA non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnzA column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzzA passed to CUSPARSE. |
| cuDoubleComplex | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuDoubleComplex> | csrValB | array of nnzB non-zero elements of matrix B. |
| CudaDeviceVariable<System.Int32> | csrRowPtrB | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndB | integer array of nnzB column indices of the non-zero elements of matrix B. Length of csrColIndB gives the number nzzB passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuDoubleComplex> | csrValC | array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndC | integer array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) column indices of the non-zero elements of matrix C. |
Csrgeam(Int32, Int32, cuFloatComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cuFloatComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function performs following matrix-matrix operation
C = alpha * A + beta * B
where A, B and C are m x n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValC, csrRowPtrA|csrRowPtrB|csrRowPtrC, and csrColIndA|csrColIndB|csrcolIndC respectively), and alpha and beta are scalars. Since A and B have different sparsity patterns, CUSPARSE adopts two-step approach to complete sparse matrix C.
Declaration
public void Csrgeam(int m, int n, cuFloatComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, cuFloatComplex beta, CudaSparseMatrixDescriptor descrB, CudaDeviceVariable<cuFloatComplex> csrValB, CudaDeviceVariable<int> csrRowPtrB, CudaDeviceVariable<int> csrColIndB, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<cuFloatComplex> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A,B,C. |
| System.Int32 | n | number of columns of sparse matrix A,B,C. |
| cuFloatComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_ MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnzA non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnzA column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzzA passed to CUSPARSE. |
| cuFloatComplex | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuFloatComplex> | csrValB | array of nnzB non-zero elements of matrix B. |
| CudaDeviceVariable<System.Int32> | csrRowPtrB | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndB | integer array of nnzB column indices of the non-zero elements of matrix B. Length of csrColIndB gives the number nzzB passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuFloatComplex> | csrValC | array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndC | integer array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) column indices of the non-zero elements of matrix C. |
Csrgeam(Int32, Int32, Double, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Double, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function performs following matrix-matrix operation
C = alpha * A + beta * B
where A, B and C are m x n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValC, csrRowPtrA|csrRowPtrB|csrRowPtrC, and csrColIndA|csrColIndB|csrcolIndC respectively), and alpha and beta are scalars. Since A and B have different sparsity patterns, CUSPARSE adopts two-step approach to complete sparse matrix C.
Declaration
public void Csrgeam(int m, int n, double alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, double beta, CudaSparseMatrixDescriptor descrB, CudaDeviceVariable<double> csrValB, CudaDeviceVariable<int> csrRowPtrB, CudaDeviceVariable<int> csrColIndB, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A,B,C. |
| System.Int32 | n | number of columns of sparse matrix A,B,C. |
| System.Double | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_ MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnzA non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnzA column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzzA passed to CUSPARSE. |
| System.Double | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Double> | csrValB | array of nnzB non-zero elements of matrix B. |
| CudaDeviceVariable<System.Int32> | csrRowPtrB | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndB | integer array of nnzB column indices of the non-zero elements of matrix B. Length of csrColIndB gives the number nzzB passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Double> | csrValC | array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndC | integer array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) column indices of the non-zero elements of matrix C. |
Csrgeam(Int32, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function performs following matrix-matrix operation
C = alpha * A + beta * B
where A, B and C are m x n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValC, csrRowPtrA|csrRowPtrB|csrRowPtrC, and csrColIndA|csrColIndB|csrcolIndC respectively), and alpha and beta are scalars. Since A and B have different sparsity patterns, CUSPARSE adopts two-step approach to complete sparse matrix C.
Declaration
public void Csrgeam(int m, int n, float alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, float beta, CudaSparseMatrixDescriptor descrB, CudaDeviceVariable<float> csrValB, CudaDeviceVariable<int> csrRowPtrB, CudaDeviceVariable<int> csrColIndB, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A,B,C. |
| System.Int32 | n | number of columns of sparse matrix A,B,C. |
| System.Single | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_ MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnzA non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnzA column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzzA passed to CUSPARSE. |
| System.Single | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Single> | csrValB | array of nnzB non-zero elements of matrix B. |
| CudaDeviceVariable<System.Int32> | csrRowPtrB | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndB | integer array of nnzB column indices of the non-zero elements of matrix B. Length of csrColIndB gives the number nzzB passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Single> | csrValC | array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndC | integer array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) column indices of the non-zero elements of matrix C. |
CsrgeamNnz(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function performs following matrix-matrix operation
C = alpha * A + beta * B
where A, B and C are m x n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValC, csrRowPtrA|csrRowPtrB|csrRowPtrC, and csrColIndA|csrColIndB|csrcolIndC respectively), and alpha and beta are scalars. Since A and B have different sparsity patterns, CUSPARSE adopts two-step approach to complete sparse matrix C.
Declaration
public void CsrgeamNnz(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseMatrixDescriptor descrB, CudaDeviceVariable<int> csrRowPtrB, CudaDeviceVariable<int> csrColIndB, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A,B,C. |
| System.Int32 | n | number of columns of sparse matrix A,B,C. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_ MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnzA column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzzA passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Int32> | csrRowPtrB | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndB | integer array of nnzB column indices of the non-zero elements of matrix B. Length of csrColIndB gives the number nzzB passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr |
CsrgeamNnz(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, ref Int32)
This function performs following matrix-matrix operation
C = alpha * A + beta * B
where A, B and C are m x n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValC, csrRowPtrA|csrRowPtrB|csrRowPtrC, and csrColIndA|csrColIndB|csrcolIndC respectively), and alpha and beta are scalars. Since A and B have different sparsity patterns, CUSPARSE adopts two-step approach to complete sparse matrix C.
Declaration
public void CsrgeamNnz(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseMatrixDescriptor descrB, CudaDeviceVariable<int> csrRowPtrB, CudaDeviceVariable<int> csrColIndB, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, ref int nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A,B,C. |
| System.Int32 | n | number of columns of sparse matrix A,B,C. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_ MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnzA column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzzA passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Int32> | csrRowPtrB | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndB | integer array of nnzB column indices of the non-zero elements of matrix B. Length of csrColIndB gives the number nzzB passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| System.Int32 | nnzTotalDevHostPtr |
Csrgemm(cusparseOperation, cusparseOperation, Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function performs following matrix-matrix operation
C = op(A) * op(B)
where op(A), op(B) and C are m x k, k x n, and m x n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValC, csrRowPtrA|csrRowPtrB|csrRowPtrC, and csrColIndA|csrColIndB|csrcolIndC) respectively.
Only support devices of compute capability 2.0 or above.
Declaration
public void Csrgemm(cusparseOperation transA, cusparseOperation transB, int m, int n, int k, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseMatrixDescriptor descrB, CudaDeviceVariable<cuDoubleComplex> csrValB, CudaDeviceVariable<int> csrRowPtrB, CudaDeviceVariable<int> csrColIndB, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<cuDoubleComplex> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transB | the operation op(B). |
| System.Int32 | m | number of rows of sparse matrix op(A) and C. |
| System.Int32 | n | number of columns of sparse matrix op(B) and C. |
| System.Int32 | k | number of columns/rows of sparse matrix op(A) / op(B). |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_ MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnzA non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of ~m + 1 elements that contains the start of every row and the end of the last row plus one. ~m = m if transA == CUSPARSE_ OPERATION_NON_TRANSPOSE, otherwise ~m = k. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnzA column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzzA passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuDoubleComplex> | csrValB | array of nnzB non-zero elements of matrix B. |
| CudaDeviceVariable<System.Int32> | csrRowPtrB | integer array of ~k + 1 elements that contains the start of every row and the end of the last row plus one. ~k = k if transB == CUSPARSE_ OPERATION_NON_TRANSPOSE, otherwise ~k = n. |
| CudaDeviceVariable<System.Int32> | csrColIndB | integer array of nnzB column indices of the non-zero elements of matrix B. Length of csrColIndB gives the number nzzB passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuDoubleComplex> | csrValC | array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndC | integer array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) column indices of the non-zero elements of matrix C. |
Csrgemm(cusparseOperation, cusparseOperation, Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function performs following matrix-matrix operation
C = op(A) * op(B)
where op(A), op(B) and C are m x k, k x n, and m x n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValC, csrRowPtrA|csrRowPtrB|csrRowPtrC, and csrColIndA|csrColIndB|csrcolIndC) respectively.
Only support devices of compute capability 2.0 or above.
Declaration
public void Csrgemm(cusparseOperation transA, cusparseOperation transB, int m, int n, int k, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseMatrixDescriptor descrB, CudaDeviceVariable<cuFloatComplex> csrValB, CudaDeviceVariable<int> csrRowPtrB, CudaDeviceVariable<int> csrColIndB, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<cuFloatComplex> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transB | the operation op(B). |
| System.Int32 | m | number of rows of sparse matrix op(A) and C. |
| System.Int32 | n | number of columns of sparse matrix op(B) and C. |
| System.Int32 | k | number of columns/rows of sparse matrix op(A) / op(B). |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_ MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnzA non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of ~m + 1 elements that contains the start of every row and the end of the last row plus one. ~m = m if transA == CUSPARSE_ OPERATION_NON_TRANSPOSE, otherwise ~m = k. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnzA column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzzA passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuFloatComplex> | csrValB | array of nnzB non-zero elements of matrix B. |
| CudaDeviceVariable<System.Int32> | csrRowPtrB | integer array of ~k + 1 elements that contains the start of every row and the end of the last row plus one. ~k = k if transB == CUSPARSE_ OPERATION_NON_TRANSPOSE, otherwise ~k = n. |
| CudaDeviceVariable<System.Int32> | csrColIndB | integer array of nnzB column indices of the non-zero elements of matrix B. Length of csrColIndB gives the number nzzB passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuFloatComplex> | csrValC | array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndC | integer array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) column indices of the non-zero elements of matrix C. |
Csrgemm(cusparseOperation, cusparseOperation, Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function performs following matrix-matrix operation
C = op(A) * op(B)
where op(A), op(B) and C are m x k, k x n, and m x n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValC, csrRowPtrA|csrRowPtrB|csrRowPtrC, and csrColIndA|csrColIndB|csrcolIndC) respectively.
Only support devices of compute capability 2.0 or above.
Declaration
public void Csrgemm(cusparseOperation transA, cusparseOperation transB, int m, int n, int k, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseMatrixDescriptor descrB, CudaDeviceVariable<double> csrValB, CudaDeviceVariable<int> csrRowPtrB, CudaDeviceVariable<int> csrColIndB, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transB | the operation op(B). |
| System.Int32 | m | number of rows of sparse matrix op(A) and C. |
| System.Int32 | n | number of columns of sparse matrix op(B) and C. |
| System.Int32 | k | number of columns/rows of sparse matrix op(A) / op(B). |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_ MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnzA non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of ~m + 1 elements that contains the start of every row and the end of the last row plus one. ~m = m if transA == CUSPARSE_ OPERATION_NON_TRANSPOSE, otherwise ~m = k. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnzA column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzzA passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Double> | csrValB | array of nnzB non-zero elements of matrix B. |
| CudaDeviceVariable<System.Int32> | csrRowPtrB | integer array of ~k + 1 elements that contains the start of every row and the end of the last row plus one. ~k = k if transB == CUSPARSE_ OPERATION_NON_TRANSPOSE, otherwise ~k = n. |
| CudaDeviceVariable<System.Int32> | csrColIndB | integer array of nnzB column indices of the non-zero elements of matrix B. Length of csrColIndB gives the number nzzB passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Double> | csrValC | array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndC | integer array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) column indices of the non-zero elements of matrix C. |
Csrgemm(cusparseOperation, cusparseOperation, Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function performs following matrix-matrix operation
C = op(A) * op(B)
where op(A), op(B) and C are m x k, k x n, and m x n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValC, csrRowPtrA|csrRowPtrB|csrRowPtrC, and csrColIndA|csrColIndB|csrcolIndC) respectively.
Only support devices of compute capability 2.0 or above.
Declaration
public void Csrgemm(cusparseOperation transA, cusparseOperation transB, int m, int n, int k, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseMatrixDescriptor descrB, CudaDeviceVariable<float> csrValB, CudaDeviceVariable<int> csrRowPtrB, CudaDeviceVariable<int> csrColIndB, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transB | the operation op(B). |
| System.Int32 | m | number of rows of sparse matrix op(A) and C. |
| System.Int32 | n | number of columns of sparse matrix op(B) and C. |
| System.Int32 | k | number of columns/rows of sparse matrix op(A) / op(B). |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_ MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnzA non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of ~m + 1 elements that contains the start of every row and the end of the last row plus one. ~m = m if transA == CUSPARSE_ OPERATION_NON_TRANSPOSE, otherwise ~m = k. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnzA column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzzA passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Single> | csrValB | array of nnzB non-zero elements of matrix B. |
| CudaDeviceVariable<System.Int32> | csrRowPtrB | integer array of ~k + 1 elements that contains the start of every row and the end of the last row plus one. ~k = k if transB == CUSPARSE_ OPERATION_NON_TRANSPOSE, otherwise ~k = n. |
| CudaDeviceVariable<System.Int32> | csrColIndB | integer array of nnzB column indices of the non-zero elements of matrix B. Length of csrColIndB gives the number nzzB passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Single> | csrValC | array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndC | integer array of nnzC (= csrRowPtrC(m) - csrRowPtrC(0)) column indices of the non-zero elements of matrix C. |
Csrgemm2(Int32, Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrgemm2Info, CudaDeviceVariable<Byte>)
This function performs following matrix-matrix operation:
C = alpha * A *A B + beta * D
where A, B, D and C are m×k, k×n, m×n and m×n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValD|csrValC, csrRowPtrA| csrRowPtrB|csrRowPtrD|csrRowPtrC, and csrColIndA|csrColIndB|csrColIndD|csrcolIndC respectively.
Declaration
public void Csrgemm2(int m, int n, int k, CudaDeviceVariable<cuDoubleComplex> alpha, CudaSparseMatrixDescriptor descrA, int nnzA, CudaDeviceVariable<cuDoubleComplex> csrSortedValA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaSparseMatrixDescriptor descrB, int nnzB, CudaDeviceVariable<cuDoubleComplex> csrSortedValB, CudaDeviceVariable<int> csrSortedRowPtrB, CudaDeviceVariable<int> csrSortedColIndB, CudaDeviceVariable<cuDoubleComplex> beta, CudaSparseMatrixDescriptor descrD, int nnzD, CudaDeviceVariable<cuDoubleComplex> csrSortedValD, CudaDeviceVariable<int> csrSortedRowPtrD, CudaDeviceVariable<int> csrSortedColIndD, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<cuDoubleComplex> csrSortedValC, CudaDeviceVariable<int> csrSortedRowPtrC, CudaDeviceVariable<int> csrSortedColIndC, CudaSparseCsrgemm2Info info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A, D and C. |
| System.Int32 | n | number of columns of sparse matrix B, D and C. |
| System.Int32 | k | number of columns/rows of sparse matrix A / B. |
| CudaDeviceVariable<cuDoubleComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzA | number of nonzero elements of sparse matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | csrSortedValA | array of nnzA nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnzA column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only |
| System.Int32 | nnzB | number of nonzero elements of sparse matrix B. |
| CudaDeviceVariable<cuDoubleComplex> | csrSortedValB | array of nnzB nonzero elements of matrix B. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrB | integer array of k+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndB | integer array of nnzB column indices of the nonzero elements of matrix B. |
| CudaDeviceVariable<cuDoubleComplex> | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrD | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzD | number of nonzero elements of sparse matrix D. |
| CudaDeviceVariable<cuDoubleComplex> | csrSortedValD | array of nnzD nonzero elements of matrix D. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrD | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndD | integer array of nnzD column indices of the nonzero elements of matrix D. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuDoubleComplex> | csrSortedValC | array of nnzC nonzero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrC | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndC | integer array of nnzC column indices of the nonzero elements of matrix C. |
| CudaSparseCsrgemm2Info | info | structure with information used in csrgemm2Nnz and csrgemm2. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by csrgemm2BufferSize |
Csrgemm2(Int32, Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrgemm2Info, CudaDeviceVariable<Byte>)
This function performs following matrix-matrix operation:
C = alpha * A *A B + beta * D
where A, B, D and C are m×k, k×n, m×n and m×n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValD|csrValC, csrRowPtrA| csrRowPtrB|csrRowPtrD|csrRowPtrC, and csrColIndA|csrColIndB|csrColIndD|csrcolIndC respectively.
Declaration
public void Csrgemm2(int m, int n, int k, CudaDeviceVariable<cuFloatComplex> alpha, CudaSparseMatrixDescriptor descrA, int nnzA, CudaDeviceVariable<cuFloatComplex> csrSortedValA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaSparseMatrixDescriptor descrB, int nnzB, CudaDeviceVariable<cuFloatComplex> csrSortedValB, CudaDeviceVariable<int> csrSortedRowPtrB, CudaDeviceVariable<int> csrSortedColIndB, CudaDeviceVariable<cuFloatComplex> beta, CudaSparseMatrixDescriptor descrD, int nnzD, CudaDeviceVariable<cuFloatComplex> csrSortedValD, CudaDeviceVariable<int> csrSortedRowPtrD, CudaDeviceVariable<int> csrSortedColIndD, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<cuFloatComplex> csrSortedValC, CudaDeviceVariable<int> csrSortedRowPtrC, CudaDeviceVariable<int> csrSortedColIndC, CudaSparseCsrgemm2Info info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A, D and C. |
| System.Int32 | n | number of columns of sparse matrix B, D and C. |
| System.Int32 | k | number of columns/rows of sparse matrix A / B. |
| CudaDeviceVariable<cuFloatComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzA | number of nonzero elements of sparse matrix A. |
| CudaDeviceVariable<cuFloatComplex> | csrSortedValA | array of nnzA nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnzA column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only |
| System.Int32 | nnzB | number of nonzero elements of sparse matrix B. |
| CudaDeviceVariable<cuFloatComplex> | csrSortedValB | array of nnzB nonzero elements of matrix B. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrB | integer array of k+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndB | integer array of nnzB column indices of the nonzero elements of matrix B. |
| CudaDeviceVariable<cuFloatComplex> | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrD | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzD | number of nonzero elements of sparse matrix D. |
| CudaDeviceVariable<cuFloatComplex> | csrSortedValD | array of nnzD nonzero elements of matrix D. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrD | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndD | integer array of nnzD column indices of the nonzero elements of matrix D. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuFloatComplex> | csrSortedValC | array of nnzC nonzero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrC | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndC | integer array of nnzC column indices of the nonzero elements of matrix C. |
| CudaSparseCsrgemm2Info | info | structure with information used in csrgemm2Nnz and csrgemm2. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by csrgemm2BufferSize |
Csrgemm2(Int32, Int32, Int32, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrgemm2Info, CudaDeviceVariable<Byte>)
This function performs following matrix-matrix operation:
C = alpha * A *A B + beta * D
where A, B, D and C are m×k, k×n, m×n and m×n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValD|csrValC, csrRowPtrA| csrRowPtrB|csrRowPtrD|csrRowPtrC, and csrColIndA|csrColIndB|csrColIndD|csrcolIndC respectively.
Declaration
public void Csrgemm2(int m, int n, int k, CudaDeviceVariable<double> alpha, CudaSparseMatrixDescriptor descrA, int nnzA, CudaDeviceVariable<double> csrSortedValA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaSparseMatrixDescriptor descrB, int nnzB, CudaDeviceVariable<double> csrSortedValB, CudaDeviceVariable<int> csrSortedRowPtrB, CudaDeviceVariable<int> csrSortedColIndB, CudaDeviceVariable<double> beta, CudaSparseMatrixDescriptor descrD, int nnzD, CudaDeviceVariable<double> csrSortedValD, CudaDeviceVariable<int> csrSortedRowPtrD, CudaDeviceVariable<int> csrSortedColIndD, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> csrSortedValC, CudaDeviceVariable<int> csrSortedRowPtrC, CudaDeviceVariable<int> csrSortedColIndC, CudaSparseCsrgemm2Info info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A, D and C. |
| System.Int32 | n | number of columns of sparse matrix B, D and C. |
| System.Int32 | k | number of columns/rows of sparse matrix A / B. |
| CudaDeviceVariable<System.Double> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzA | number of nonzero elements of sparse matrix A. |
| CudaDeviceVariable<System.Double> | csrSortedValA | array of nnzA nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnzA column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only |
| System.Int32 | nnzB | number of nonzero elements of sparse matrix B. |
| CudaDeviceVariable<System.Double> | csrSortedValB | array of nnzB nonzero elements of matrix B. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrB | integer array of k+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndB | integer array of nnzB column indices of the nonzero elements of matrix B. |
| CudaDeviceVariable<System.Double> | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrD | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzD | number of nonzero elements of sparse matrix D. |
| CudaDeviceVariable<System.Double> | csrSortedValD | array of nnzD nonzero elements of matrix D. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrD | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndD | integer array of nnzD column indices of the nonzero elements of matrix D. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Double> | csrSortedValC | array of nnzC nonzero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrC | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndC | integer array of nnzC column indices of the nonzero elements of matrix C. |
| CudaSparseCsrgemm2Info | info | structure with information used in csrgemm2Nnz and csrgemm2. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by csrgemm2BufferSize |
Csrgemm2(Int32, Int32, Int32, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrgemm2Info, CudaDeviceVariable<Byte>)
This function performs following matrix-matrix operation:
C = alpha * A *A B + beta * D
where A, B, D and C are m×k, k×n, m×n and m×n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValD|csrValC, csrRowPtrA| csrRowPtrB|csrRowPtrD|csrRowPtrC, and csrColIndA|csrColIndB|csrColIndD|csrcolIndC respectively.
Declaration
public void Csrgemm2(int m, int n, int k, CudaDeviceVariable<float> alpha, CudaSparseMatrixDescriptor descrA, int nnzA, CudaDeviceVariable<float> csrSortedValA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaSparseMatrixDescriptor descrB, int nnzB, CudaDeviceVariable<float> csrSortedValB, CudaDeviceVariable<int> csrSortedRowPtrB, CudaDeviceVariable<int> csrSortedColIndB, CudaDeviceVariable<float> beta, CudaSparseMatrixDescriptor descrD, int nnzD, CudaDeviceVariable<float> csrSortedValD, CudaDeviceVariable<int> csrSortedRowPtrD, CudaDeviceVariable<int> csrSortedColIndD, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> csrSortedValC, CudaDeviceVariable<int> csrSortedRowPtrC, CudaDeviceVariable<int> csrSortedColIndC, CudaSparseCsrgemm2Info info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A, D and C. |
| System.Int32 | n | number of columns of sparse matrix B, D and C. |
| System.Int32 | k | number of columns/rows of sparse matrix A / B. |
| CudaDeviceVariable<System.Single> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzA | number of nonzero elements of sparse matrix A. |
| CudaDeviceVariable<System.Single> | csrSortedValA | array of nnzA nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnzA column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only |
| System.Int32 | nnzB | number of nonzero elements of sparse matrix B. |
| CudaDeviceVariable<System.Single> | csrSortedValB | array of nnzB nonzero elements of matrix B. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrB | integer array of k+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndB | integer array of nnzB column indices of the nonzero elements of matrix B. |
| CudaDeviceVariable<System.Single> | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrD | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzD | number of nonzero elements of sparse matrix D. |
| CudaDeviceVariable<System.Single> | csrSortedValD | array of nnzD nonzero elements of matrix D. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrD | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndD | integer array of nnzD column indices of the nonzero elements of matrix D. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Single> | csrSortedValC | array of nnzC nonzero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrC | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndC | integer array of nnzC column indices of the nonzero elements of matrix C. |
| CudaSparseCsrgemm2Info | info | structure with information used in csrgemm2Nnz and csrgemm2. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by csrgemm2BufferSize |
Csrgemm2(Int32, Int32, Int32, cuDoubleComplex, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cuDoubleComplex, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrgemm2Info, CudaDeviceVariable<Byte>)
This function performs following matrix-matrix operation:
C = alpha * A *A B + beta * D
where A, B, D and C are m×k, k×n, m×n and m×n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValD|csrValC, csrRowPtrA| csrRowPtrB|csrRowPtrD|csrRowPtrC, and csrColIndA|csrColIndB|csrColIndD|csrcolIndC respectively.
Declaration
public void Csrgemm2(int m, int n, int k, cuDoubleComplex alpha, CudaSparseMatrixDescriptor descrA, int nnzA, CudaDeviceVariable<cuDoubleComplex> csrSortedValA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaSparseMatrixDescriptor descrB, int nnzB, CudaDeviceVariable<cuDoubleComplex> csrSortedValB, CudaDeviceVariable<int> csrSortedRowPtrB, CudaDeviceVariable<int> csrSortedColIndB, cuDoubleComplex beta, CudaSparseMatrixDescriptor descrD, int nnzD, CudaDeviceVariable<cuDoubleComplex> csrSortedValD, CudaDeviceVariable<int> csrSortedRowPtrD, CudaDeviceVariable<int> csrSortedColIndD, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<cuDoubleComplex> csrSortedValC, CudaDeviceVariable<int> csrSortedRowPtrC, CudaDeviceVariable<int> csrSortedColIndC, CudaSparseCsrgemm2Info info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A, D and C. |
| System.Int32 | n | number of columns of sparse matrix B, D and C. |
| System.Int32 | k | number of columns/rows of sparse matrix A / B. |
| cuDoubleComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzA | number of nonzero elements of sparse matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | csrSortedValA | array of nnzA nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnzA column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only |
| System.Int32 | nnzB | number of nonzero elements of sparse matrix B. |
| CudaDeviceVariable<cuDoubleComplex> | csrSortedValB | array of nnzB nonzero elements of matrix B. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrB | integer array of k+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndB | integer array of nnzB column indices of the nonzero elements of matrix B. |
| cuDoubleComplex | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrD | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzD | number of nonzero elements of sparse matrix D. |
| CudaDeviceVariable<cuDoubleComplex> | csrSortedValD | array of nnzD nonzero elements of matrix D. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrD | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndD | integer array of nnzD column indices of the nonzero elements of matrix D. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuDoubleComplex> | csrSortedValC | array of nnzC nonzero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrC | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndC | integer array of nnzC column indices of the nonzero elements of matrix C. |
| CudaSparseCsrgemm2Info | info | structure with information used in csrgemm2Nnz and csrgemm2. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by csrgemm2BufferSize |
Csrgemm2(Int32, Int32, Int32, cuFloatComplex, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cuFloatComplex, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrgemm2Info, CudaDeviceVariable<Byte>)
This function performs following matrix-matrix operation:
C = alpha * A *A B + beta * D
where A, B, D and C are m×k, k×n, m×n and m×n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValD|csrValC, csrRowPtrA| csrRowPtrB|csrRowPtrD|csrRowPtrC, and csrColIndA|csrColIndB|csrColIndD|csrcolIndC respectively.
Declaration
public void Csrgemm2(int m, int n, int k, cuFloatComplex alpha, CudaSparseMatrixDescriptor descrA, int nnzA, CudaDeviceVariable<cuFloatComplex> csrSortedValA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaSparseMatrixDescriptor descrB, int nnzB, CudaDeviceVariable<cuFloatComplex> csrSortedValB, CudaDeviceVariable<int> csrSortedRowPtrB, CudaDeviceVariable<int> csrSortedColIndB, cuFloatComplex beta, CudaSparseMatrixDescriptor descrD, int nnzD, CudaDeviceVariable<cuFloatComplex> csrSortedValD, CudaDeviceVariable<int> csrSortedRowPtrD, CudaDeviceVariable<int> csrSortedColIndD, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<cuFloatComplex> csrSortedValC, CudaDeviceVariable<int> csrSortedRowPtrC, CudaDeviceVariable<int> csrSortedColIndC, CudaSparseCsrgemm2Info info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A, D and C. |
| System.Int32 | n | number of columns of sparse matrix B, D and C. |
| System.Int32 | k | number of columns/rows of sparse matrix A / B. |
| cuFloatComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzA | number of nonzero elements of sparse matrix A. |
| CudaDeviceVariable<cuFloatComplex> | csrSortedValA | array of nnzA nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnzA column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only |
| System.Int32 | nnzB | number of nonzero elements of sparse matrix B. |
| CudaDeviceVariable<cuFloatComplex> | csrSortedValB | array of nnzB nonzero elements of matrix B. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrB | integer array of k+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndB | integer array of nnzB column indices of the nonzero elements of matrix B. |
| cuFloatComplex | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrD | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzD | number of nonzero elements of sparse matrix D. |
| CudaDeviceVariable<cuFloatComplex> | csrSortedValD | array of nnzD nonzero elements of matrix D. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrD | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndD | integer array of nnzD column indices of the nonzero elements of matrix D. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<cuFloatComplex> | csrSortedValC | array of nnzC nonzero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrC | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndC | integer array of nnzC column indices of the nonzero elements of matrix C. |
| CudaSparseCsrgemm2Info | info | structure with information used in csrgemm2Nnz and csrgemm2. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by csrgemm2BufferSize |
Csrgemm2(Int32, Int32, Int32, Double, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Double, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrgemm2Info, CudaDeviceVariable<Byte>)
This function performs following matrix-matrix operation:
C = alpha * A *A B + beta * D
where A, B, D and C are m×k, k×n, m×n and m×n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValD|csrValC, csrRowPtrA| csrRowPtrB|csrRowPtrD|csrRowPtrC, and csrColIndA|csrColIndB|csrColIndD|csrcolIndC respectively.
Declaration
public void Csrgemm2(int m, int n, int k, double alpha, CudaSparseMatrixDescriptor descrA, int nnzA, CudaDeviceVariable<double> csrSortedValA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaSparseMatrixDescriptor descrB, int nnzB, CudaDeviceVariable<double> csrSortedValB, CudaDeviceVariable<int> csrSortedRowPtrB, CudaDeviceVariable<int> csrSortedColIndB, double beta, CudaSparseMatrixDescriptor descrD, int nnzD, CudaDeviceVariable<double> csrSortedValD, CudaDeviceVariable<int> csrSortedRowPtrD, CudaDeviceVariable<int> csrSortedColIndD, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> csrSortedValC, CudaDeviceVariable<int> csrSortedRowPtrC, CudaDeviceVariable<int> csrSortedColIndC, CudaSparseCsrgemm2Info info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A, D and C. |
| System.Int32 | n | number of columns of sparse matrix B, D and C. |
| System.Int32 | k | number of columns/rows of sparse matrix A / B. |
| System.Double | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzA | number of nonzero elements of sparse matrix A. |
| CudaDeviceVariable<System.Double> | csrSortedValA | array of nnzA nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnzA column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only |
| System.Int32 | nnzB | number of nonzero elements of sparse matrix B. |
| CudaDeviceVariable<System.Double> | csrSortedValB | array of nnzB nonzero elements of matrix B. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrB | integer array of k+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndB | integer array of nnzB column indices of the nonzero elements of matrix B. |
| System.Double | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrD | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzD | number of nonzero elements of sparse matrix D. |
| CudaDeviceVariable<System.Double> | csrSortedValD | array of nnzD nonzero elements of matrix D. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrD | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndD | integer array of nnzD column indices of the nonzero elements of matrix D. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Double> | csrSortedValC | array of nnzC nonzero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrC | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndC | integer array of nnzC column indices of the nonzero elements of matrix C. |
| CudaSparseCsrgemm2Info | info | structure with information used in csrgemm2Nnz and csrgemm2. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by csrgemm2BufferSize |
Csrgemm2(Int32, Int32, Int32, Single, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrgemm2Info, CudaDeviceVariable<Byte>)
This function performs following matrix-matrix operation:
C = alpha * A *A B + beta * D
where A, B, D and C are m×k, k×n, m×n and m×n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValD|csrValC, csrRowPtrA| csrRowPtrB|csrRowPtrD|csrRowPtrC, and csrColIndA|csrColIndB|csrColIndD|csrcolIndC respectively.
Declaration
public void Csrgemm2(int m, int n, int k, float alpha, CudaSparseMatrixDescriptor descrA, int nnzA, CudaDeviceVariable<float> csrSortedValA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaSparseMatrixDescriptor descrB, int nnzB, CudaDeviceVariable<float> csrSortedValB, CudaDeviceVariable<int> csrSortedRowPtrB, CudaDeviceVariable<int> csrSortedColIndB, float beta, CudaSparseMatrixDescriptor descrD, int nnzD, CudaDeviceVariable<float> csrSortedValD, CudaDeviceVariable<int> csrSortedRowPtrD, CudaDeviceVariable<int> csrSortedColIndD, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> csrSortedValC, CudaDeviceVariable<int> csrSortedRowPtrC, CudaDeviceVariable<int> csrSortedColIndC, CudaSparseCsrgemm2Info info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A, D and C. |
| System.Int32 | n | number of columns of sparse matrix B, D and C. |
| System.Int32 | k | number of columns/rows of sparse matrix A / B. |
| System.Single | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzA | number of nonzero elements of sparse matrix A. |
| CudaDeviceVariable<System.Single> | csrSortedValA | array of nnzA nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnzA column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only |
| System.Int32 | nnzB | number of nonzero elements of sparse matrix B. |
| CudaDeviceVariable<System.Single> | csrSortedValB | array of nnzB nonzero elements of matrix B. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrB | integer array of k+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndB | integer array of nnzB column indices of the nonzero elements of matrix B. |
| System.Single | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrD | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzD | number of nonzero elements of sparse matrix D. |
| CudaDeviceVariable<System.Single> | csrSortedValD | array of nnzD nonzero elements of matrix D. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrD | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndD | integer array of nnzD column indices of the nonzero elements of matrix D. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Single> | csrSortedValC | array of nnzC nonzero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrC | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndC | integer array of nnzC column indices of the nonzero elements of matrix C. |
| CudaSparseCsrgemm2Info | info | structure with information used in csrgemm2Nnz and csrgemm2. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by csrgemm2BufferSize |
Csrgemm2BufferSize(Int32, Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrgemm2Info)
This function performs following matrix-matrix operation:
C = alpha * A *A B + beta * D
where A, B, D and C are m×k, k×n, m×n and m×n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValD|csrValC, csrRowPtrA| csrRowPtrB|csrRowPtrD|csrRowPtrC, and csrColIndA|csrColIndB|csrColIndD|csrcolIndC respectively.
Declaration
public SizeT Csrgemm2BufferSize(int m, int n, int k, CudaDeviceVariable<cuDoubleComplex> alpha, CudaSparseMatrixDescriptor descrA, int nnzA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaSparseMatrixDescriptor descrB, int nnzB, CudaDeviceVariable<int> csrSortedRowPtrB, CudaDeviceVariable<int> csrSortedColIndB, CudaDeviceVariable<cuDoubleComplex> beta, CudaSparseMatrixDescriptor descrD, int nnzD, CudaDeviceVariable<int> csrSortedRowPtrD, CudaDeviceVariable<int> csrSortedColIndD, CudaSparseCsrgemm2Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A, D and C. |
| System.Int32 | n | number of columns of sparse matrix B, D and C. |
| System.Int32 | k | number of columns/rows of sparse matrix A / B. |
| CudaDeviceVariable<cuDoubleComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzA | number of nonzero elements of sparse matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnzA column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only |
| System.Int32 | nnzB | number of nonzero elements of sparse matrix B. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrB | integer array of k+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndB | integer array of nnzB column indices of the nonzero elements of matrix B. |
| CudaDeviceVariable<cuDoubleComplex> | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrD | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzD | number of nonzero elements of sparse matrix D. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrD | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndD | integer array of nnzD column indices of the nonzero elements of matrix D. |
| CudaSparseCsrgemm2Info | info | structure with information used in csrgemm2Nnz and csrgemm2. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in csrgemm2Nnnz and csrgemm2. |
Csrgemm2BufferSize(Int32, Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrgemm2Info)
This function performs following matrix-matrix operation:
C = alpha * A *A B + beta * D
where A, B, D and C are m×k, k×n, m×n and m×n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValD|csrValC, csrRowPtrA| csrRowPtrB|csrRowPtrD|csrRowPtrC, and csrColIndA|csrColIndB|csrColIndD|csrcolIndC respectively.
Declaration
public SizeT Csrgemm2BufferSize(int m, int n, int k, CudaDeviceVariable<cuFloatComplex> alpha, CudaSparseMatrixDescriptor descrA, int nnzA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaSparseMatrixDescriptor descrB, int nnzB, CudaDeviceVariable<int> csrSortedRowPtrB, CudaDeviceVariable<int> csrSortedColIndB, CudaDeviceVariable<cuFloatComplex> beta, CudaSparseMatrixDescriptor descrD, int nnzD, CudaDeviceVariable<int> csrSortedRowPtrD, CudaDeviceVariable<int> csrSortedColIndD, CudaSparseCsrgemm2Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A, D and C. |
| System.Int32 | n | number of columns of sparse matrix B, D and C. |
| System.Int32 | k | number of columns/rows of sparse matrix A / B. |
| CudaDeviceVariable<cuFloatComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzA | number of nonzero elements of sparse matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnzA column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only |
| System.Int32 | nnzB | number of nonzero elements of sparse matrix B. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrB | integer array of k+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndB | integer array of nnzB column indices of the nonzero elements of matrix B. |
| CudaDeviceVariable<cuFloatComplex> | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrD | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzD | number of nonzero elements of sparse matrix D. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrD | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndD | integer array of nnzD column indices of the nonzero elements of matrix D. |
| CudaSparseCsrgemm2Info | info | structure with information used in csrgemm2Nnz and csrgemm2. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in csrgemm2Nnnz and csrgemm2. |
Csrgemm2BufferSize(Int32, Int32, Int32, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrgemm2Info)
This function performs following matrix-matrix operation:
C = alpha * A *A B + beta * D
where A, B, D and C are m×k, k×n, m×n and m×n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValD|csrValC, csrRowPtrA| csrRowPtrB|csrRowPtrD|csrRowPtrC, and csrColIndA|csrColIndB|csrColIndD|csrcolIndC respectively.
Declaration
public SizeT Csrgemm2BufferSize(int m, int n, int k, CudaDeviceVariable<double> alpha, CudaSparseMatrixDescriptor descrA, int nnzA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaSparseMatrixDescriptor descrB, int nnzB, CudaDeviceVariable<int> csrSortedRowPtrB, CudaDeviceVariable<int> csrSortedColIndB, CudaDeviceVariable<double> beta, CudaSparseMatrixDescriptor descrD, int nnzD, CudaDeviceVariable<int> csrSortedRowPtrD, CudaDeviceVariable<int> csrSortedColIndD, CudaSparseCsrgemm2Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A, D and C. |
| System.Int32 | n | number of columns of sparse matrix B, D and C. |
| System.Int32 | k | number of columns/rows of sparse matrix A / B. |
| CudaDeviceVariable<System.Double> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzA | number of nonzero elements of sparse matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnzA column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only |
| System.Int32 | nnzB | number of nonzero elements of sparse matrix B. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrB | integer array of k+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndB | integer array of nnzB column indices of the nonzero elements of matrix B. |
| CudaDeviceVariable<System.Double> | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrD | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzD | number of nonzero elements of sparse matrix D. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrD | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndD | integer array of nnzD column indices of the nonzero elements of matrix D. |
| CudaSparseCsrgemm2Info | info | structure with information used in csrgemm2Nnz and csrgemm2. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in csrgemm2Nnnz and csrgemm2. |
Csrgemm2BufferSize(Int32, Int32, Int32, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrgemm2Info)
This function performs following matrix-matrix operation:
C = alpha * A *A B + beta * D
where A, B, D and C are m×k, k×n, m×n and m×n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValD|csrValC, csrRowPtrA| csrRowPtrB|csrRowPtrD|csrRowPtrC, and csrColIndA|csrColIndB|csrColIndD|csrcolIndC respectively.
Declaration
public SizeT Csrgemm2BufferSize(int m, int n, int k, CudaDeviceVariable<float> alpha, CudaSparseMatrixDescriptor descrA, int nnzA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaSparseMatrixDescriptor descrB, int nnzB, CudaDeviceVariable<int> csrSortedRowPtrB, CudaDeviceVariable<int> csrSortedColIndB, CudaDeviceVariable<float> beta, CudaSparseMatrixDescriptor descrD, int nnzD, CudaDeviceVariable<int> csrSortedRowPtrD, CudaDeviceVariable<int> csrSortedColIndD, CudaSparseCsrgemm2Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A, D and C. |
| System.Int32 | n | number of columns of sparse matrix B, D and C. |
| System.Int32 | k | number of columns/rows of sparse matrix A / B. |
| CudaDeviceVariable<System.Single> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzA | number of nonzero elements of sparse matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnzA column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only |
| System.Int32 | nnzB | number of nonzero elements of sparse matrix B. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrB | integer array of k+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndB | integer array of nnzB column indices of the nonzero elements of matrix B. |
| CudaDeviceVariable<System.Single> | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrD | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzD | number of nonzero elements of sparse matrix D. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrD | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndD | integer array of nnzD column indices of the nonzero elements of matrix D. |
| CudaSparseCsrgemm2Info | info | structure with information used in csrgemm2Nnz and csrgemm2. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in csrgemm2Nnnz and csrgemm2. |
Csrgemm2BufferSize(Int32, Int32, Int32, cuDoubleComplex, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cuDoubleComplex, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrgemm2Info)
This function performs following matrix-matrix operation:
C = alpha * A *A B + beta * D
where A, B, D and C are m×k, k×n, m×n and m×n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValD|csrValC, csrRowPtrA| csrRowPtrB|csrRowPtrD|csrRowPtrC, and csrColIndA|csrColIndB|csrColIndD|csrcolIndC respectively.
Declaration
public SizeT Csrgemm2BufferSize(int m, int n, int k, cuDoubleComplex alpha, CudaSparseMatrixDescriptor descrA, int nnzA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaSparseMatrixDescriptor descrB, int nnzB, CudaDeviceVariable<int> csrSortedRowPtrB, CudaDeviceVariable<int> csrSortedColIndB, cuDoubleComplex beta, CudaSparseMatrixDescriptor descrD, int nnzD, CudaDeviceVariable<int> csrSortedRowPtrD, CudaDeviceVariable<int> csrSortedColIndD, CudaSparseCsrgemm2Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A, D and C. |
| System.Int32 | n | number of columns of sparse matrix B, D and C. |
| System.Int32 | k | number of columns/rows of sparse matrix A / B. |
| cuDoubleComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzA | number of nonzero elements of sparse matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnzA column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only |
| System.Int32 | nnzB | number of nonzero elements of sparse matrix B. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrB | integer array of k+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndB | integer array of nnzB column indices of the nonzero elements of matrix B. |
| cuDoubleComplex | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrD | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzD | number of nonzero elements of sparse matrix D. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrD | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndD | integer array of nnzD column indices of the nonzero elements of matrix D. |
| CudaSparseCsrgemm2Info | info | structure with information used in csrgemm2Nnz and csrgemm2. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in csrgemm2Nnnz and csrgemm2. |
Csrgemm2BufferSize(Int32, Int32, Int32, cuFloatComplex, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cuFloatComplex, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrgemm2Info)
This function performs following matrix-matrix operation:
C = alpha * A *A B + beta * D
where A, B, D and C are m×k, k×n, m×n and m×n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValD|csrValC, csrRowPtrA| csrRowPtrB|csrRowPtrD|csrRowPtrC, and csrColIndA|csrColIndB|csrColIndD|csrcolIndC respectively.
Declaration
public SizeT Csrgemm2BufferSize(int m, int n, int k, cuFloatComplex alpha, CudaSparseMatrixDescriptor descrA, int nnzA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaSparseMatrixDescriptor descrB, int nnzB, CudaDeviceVariable<int> csrSortedRowPtrB, CudaDeviceVariable<int> csrSortedColIndB, cuFloatComplex beta, CudaSparseMatrixDescriptor descrD, int nnzD, CudaDeviceVariable<int> csrSortedRowPtrD, CudaDeviceVariable<int> csrSortedColIndD, CudaSparseCsrgemm2Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A, D and C. |
| System.Int32 | n | number of columns of sparse matrix B, D and C. |
| System.Int32 | k | number of columns/rows of sparse matrix A / B. |
| cuFloatComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzA | number of nonzero elements of sparse matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnzA column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only |
| System.Int32 | nnzB | number of nonzero elements of sparse matrix B. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrB | integer array of k+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndB | integer array of nnzB column indices of the nonzero elements of matrix B. |
| cuFloatComplex | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrD | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzD | number of nonzero elements of sparse matrix D. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrD | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndD | integer array of nnzD column indices of the nonzero elements of matrix D. |
| CudaSparseCsrgemm2Info | info | structure with information used in csrgemm2Nnz and csrgemm2. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in csrgemm2Nnnz and csrgemm2. |
Csrgemm2BufferSize(Int32, Int32, Int32, Double, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Double, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrgemm2Info)
This function performs following matrix-matrix operation:
C = alpha * A *A B + beta * D
where A, B, D and C are m×k, k×n, m×n and m×n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValD|csrValC, csrRowPtrA| csrRowPtrB|csrRowPtrD|csrRowPtrC, and csrColIndA|csrColIndB|csrColIndD|csrcolIndC respectively.
Declaration
public SizeT Csrgemm2BufferSize(int m, int n, int k, double alpha, CudaSparseMatrixDescriptor descrA, int nnzA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaSparseMatrixDescriptor descrB, int nnzB, CudaDeviceVariable<int> csrSortedRowPtrB, CudaDeviceVariable<int> csrSortedColIndB, double beta, CudaSparseMatrixDescriptor descrD, int nnzD, CudaDeviceVariable<int> csrSortedRowPtrD, CudaDeviceVariable<int> csrSortedColIndD, CudaSparseCsrgemm2Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A, D and C. |
| System.Int32 | n | number of columns of sparse matrix B, D and C. |
| System.Int32 | k | number of columns/rows of sparse matrix A / B. |
| System.Double | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzA | number of nonzero elements of sparse matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnzA column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only |
| System.Int32 | nnzB | number of nonzero elements of sparse matrix B. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrB | integer array of k+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndB | integer array of nnzB column indices of the nonzero elements of matrix B. |
| System.Double | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrD | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzD | number of nonzero elements of sparse matrix D. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrD | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndD | integer array of nnzD column indices of the nonzero elements of matrix D. |
| CudaSparseCsrgemm2Info | info | structure with information used in csrgemm2Nnz and csrgemm2. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in csrgemm2Nnnz and csrgemm2. |
Csrgemm2BufferSize(Int32, Int32, Int32, Single, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrgemm2Info)
This function performs following matrix-matrix operation:
C = alpha * A *A B + beta * D
where A, B, D and C are m×k, k×n, m×n and m×n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValD|csrValC, csrRowPtrA| csrRowPtrB|csrRowPtrD|csrRowPtrC, and csrColIndA|csrColIndB|csrColIndD|csrcolIndC respectively.
Declaration
public SizeT Csrgemm2BufferSize(int m, int n, int k, float alpha, CudaSparseMatrixDescriptor descrA, int nnzA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaSparseMatrixDescriptor descrB, int nnzB, CudaDeviceVariable<int> csrSortedRowPtrB, CudaDeviceVariable<int> csrSortedColIndB, float beta, CudaSparseMatrixDescriptor descrD, int nnzD, CudaDeviceVariable<int> csrSortedRowPtrD, CudaDeviceVariable<int> csrSortedColIndD, CudaSparseCsrgemm2Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A, D and C. |
| System.Int32 | n | number of columns of sparse matrix B, D and C. |
| System.Int32 | k | number of columns/rows of sparse matrix A / B. |
| System.Single | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzA | number of nonzero elements of sparse matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnzA column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only |
| System.Int32 | nnzB | number of nonzero elements of sparse matrix B. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrB | integer array of k+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndB | integer array of nnzB column indices of the nonzero elements of matrix B. |
| System.Single | beta | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrD | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzD | number of nonzero elements of sparse matrix D. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrD | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndD | integer array of nnzD column indices of the nonzero elements of matrix D. |
| CudaSparseCsrgemm2Info | info | structure with information used in csrgemm2Nnz and csrgemm2. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in csrgemm2Nnnz and csrgemm2. |
Csrgemm2Nnz(Int32, Int32, Int32, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrgemm2Info, CudaDeviceVariable<Byte>)
This function performs following matrix-matrix operation:
C = alpha * A *A B + beta * D
where A, B, D and C are m×k, k×n, m×n and m×n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValD|csrValC, csrRowPtrA| csrRowPtrB|csrRowPtrD|csrRowPtrC, and csrColIndA|csrColIndB|csrColIndD|csrcolIndC respectively.
Declaration
public void Csrgemm2Nnz(int m, int n, int k, CudaSparseMatrixDescriptor descrA, int nnzA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaSparseMatrixDescriptor descrB, int nnzB, CudaDeviceVariable<int> csrSortedRowPtrB, CudaDeviceVariable<int> csrSortedColIndB, CudaSparseMatrixDescriptor descrD, int nnzD, CudaDeviceVariable<int> csrSortedRowPtrD, CudaDeviceVariable<int> csrSortedColIndD, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrSortedRowPtrC, CudaDeviceVariable<int> nnzTotalDevHostPtr, CudaSparseCsrgemm2Info info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A, D and C. |
| System.Int32 | n | number of columns of sparse matrix B, D and C. |
| System.Int32 | k | number of columns/rows of sparse matrix A / B. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzA | number of nonzero elements of sparse matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnzA column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only |
| System.Int32 | nnzB | number of nonzero elements of sparse matrix B. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrB | integer array of k+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndB | integer array of nnzB column indices of the nonzero elements of matrix B. |
| CudaSparseMatrixDescriptor | descrD | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzD | number of nonzero elements of sparse matrix D. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrD | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndD | integer array of nnzD column indices of the nonzero elements of matrix D. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrC | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr | total number of nonzero elements in device or host memory. It is equal to (csrRowPtrC(m)-csrRowPtrC(0)). |
| CudaSparseCsrgemm2Info | info | structure with information used in csrgemm2Nnz and csrgemm2. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by csrgemm2BufferSize |
Csrgemm2Nnz(Int32, Int32, Int32, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, ref Int32, CudaSparseCsrgemm2Info, CudaDeviceVariable<Byte>)
This function performs following matrix-matrix operation:
C = alpha * A *A B + beta * D
where A, B, D and C are m×k, k×n, m×n and m×n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValD|csrValC, csrRowPtrA| csrRowPtrB|csrRowPtrD|csrRowPtrC, and csrColIndA|csrColIndB|csrColIndD|csrcolIndC respectively.
Declaration
public void Csrgemm2Nnz(int m, int n, int k, CudaSparseMatrixDescriptor descrA, int nnzA, CudaDeviceVariable<int> csrSortedRowPtrA, CudaDeviceVariable<int> csrSortedColIndA, CudaSparseMatrixDescriptor descrB, int nnzB, CudaDeviceVariable<int> csrSortedRowPtrB, CudaDeviceVariable<int> csrSortedColIndB, CudaSparseMatrixDescriptor descrD, int nnzD, CudaDeviceVariable<int> csrSortedRowPtrD, CudaDeviceVariable<int> csrSortedColIndD, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrSortedRowPtrC, ref int nnzTotalDevHostPtr, CudaSparseCsrgemm2Info info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of sparse matrix A, D and C. |
| System.Int32 | n | number of columns of sparse matrix B, D and C. |
| System.Int32 | k | number of columns/rows of sparse matrix A / B. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzA | number of nonzero elements of sparse matrix A. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndA | integer array of nnzA column indices of the nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only |
| System.Int32 | nnzB | number of nonzero elements of sparse matrix B. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrB | integer array of k+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndB | integer array of nnzB column indices of the nonzero elements of matrix B. |
| CudaSparseMatrixDescriptor | descrD | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| System.Int32 | nnzD | number of nonzero elements of sparse matrix D. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrD | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrSortedColIndD | integer array of nnzD column indices of the nonzero elements of matrix D. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Int32> | csrSortedRowPtrC | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| System.Int32 | nnzTotalDevHostPtr | total number of nonzero elements in device or host memory. It is equal to (csrRowPtrC(m)-csrRowPtrC(0)). |
| CudaSparseCsrgemm2Info | info | structure with information used in csrgemm2Nnz and csrgemm2. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by csrgemm2BufferSize |
CsrgemmNnz(cusparseOperation, cusparseOperation, Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function performs following matrix-matrix operation
C = op(A) * op(B)
where op(A), op(B) and C are m x k, k x n, and m x n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValC, csrRowPtrA|csrRowPtrB|csrRowPtrC, and csrColIndA|csrColIndB|csrcolIndC) respectively.
Only support devices of compute capability 2.0 or above.
Declaration
public void CsrgemmNnz(cusparseOperation transA, cusparseOperation transB, int m, int n, int k, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseMatrixDescriptor descrB, CudaDeviceVariable<int> csrRowPtrB, CudaDeviceVariable<int> csrColIndB, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transB | the operation op(B). |
| System.Int32 | m | number of rows of sparse matrix op(A) and C. |
| System.Int32 | n | number of columns of sparse matrix op(B) and C. |
| System.Int32 | k | number of columns/rows of sparse matrix op(A) / op(B). |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_ MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of ~m + 1 elements that contains the start of every row and the end of the last row plus one. ~m = m if transA == CUSPARSE_ OPERATION_NON_TRANSPOSE, otherwise ~m = k. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnzA column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzzA passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Int32> | csrRowPtrB | integer array of ~k + 1 elements that contains the start of every row and the end of the last row plus one. ~k = k if transB == CUSPARSE_ OPERATION_NON_TRANSPOSE, otherwise ~k = n. |
| CudaDeviceVariable<System.Int32> | csrColIndB | integer array of nnzB column indices of the non-zero elements of matrix B. Length of csrColIndB gives the number nzzB passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr |
CsrgemmNnz(cusparseOperation, cusparseOperation, Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, ref Int32)
This function performs following matrix-matrix operation
C = op(A) * op(B)
where op(A), op(B) and C are m x k, k x n, and m x n sparse matrices (defined in CSR storage format by the three arrays csrValA|csrValB|csrValC, csrRowPtrA|csrRowPtrB|csrRowPtrC, and csrColIndA|csrColIndB|csrcolIndC) respectively.
Only support devices of compute capability 2.0 or above.
Declaration
public void CsrgemmNnz(cusparseOperation transA, cusparseOperation transB, int m, int n, int k, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseMatrixDescriptor descrB, CudaDeviceVariable<int> csrRowPtrB, CudaDeviceVariable<int> csrColIndB, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, ref int nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cusparseOperation | transB | the operation op(B). |
| System.Int32 | m | number of rows of sparse matrix op(A) and C. |
| System.Int32 | n | number of columns of sparse matrix op(B) and C. |
| System.Int32 | k | number of columns/rows of sparse matrix op(A) / op(B). |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_ MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of ~m + 1 elements that contains the start of every row and the end of the last row plus one. ~m = m if transA == CUSPARSE_ OPERATION_NON_TRANSPOSE, otherwise ~m = k. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnzA column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzzA passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrB | the descriptor of matrix B. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Int32> | csrRowPtrB | integer array of ~k + 1 elements that contains the start of every row and the end of the last row plus one. ~k = k if transB == CUSPARSE_ OPERATION_NON_TRANSPOSE, otherwise ~k = n. |
| CudaDeviceVariable<System.Int32> | csrColIndB | integer array of nnzB column indices of the non-zero elements of matrix B. Length of csrColIndB gives the number nzzB passed to CUSPARSE. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL only. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| System.Int32 | nnzTotalDevHostPtr |
Csric0(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo)
This function computes the incomplete-Cholesky factorization with 0 fill-in and no pivoting
op(A) ≈ R'R
where A is m*n Hermitian/symmetric positive definite sparse matrix (that is defined in CSR storage format by the three arrays csrValM, csrRowPtrA and csrColIndA).
Notice that only a lower or upper Hermitian/symmetric part of the matrix A is actually stored. It is overwritten by the lower or upper triangular factor R' or R, respectively.
A call to this routine must be preceeded by a call to the csrsv_analysis routine. This function requires some extra storage. It is executed asynchronously with respect to the host and it may return control to the application on the host before the result is ready.
Declaration
public void Csric0(cusparseOperation trans, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA_ValM, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | trans | the operation op(A). |
| System.Int32 | m | number of rows and columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA_ValM | array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure with information collected during the analysis phase (that should have been passed to the solve phase unchanged). |
Csric0(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo)
This function computes the incomplete-Cholesky factorization with 0 fill-in and no pivoting
op(A) ≈ R'R
where A is m*n Hermitian/symmetric positive definite sparse matrix (that is defined in CSR storage format by the three arrays csrValM, csrRowPtrA and csrColIndA).
Notice that only a lower or upper Hermitian/symmetric part of the matrix A is actually stored. It is overwritten by the lower or upper triangular factor R' or R, respectively.
A call to this routine must be preceeded by a call to the csrsv_analysis routine. This function requires some extra storage. It is executed asynchronously with respect to the host and it may return control to the application on the host before the result is ready.
Declaration
public void Csric0(cusparseOperation trans, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA_ValM, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | trans | the operation op(A). |
| System.Int32 | m | number of rows and columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | csrValA_ValM | array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure with information collected during the analysis phase (that should have been passed to the solve phase unchanged). |
Csric0(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo)
This function computes the incomplete-Cholesky factorization with 0 fill-in and no pivoting
op(A) ≈ R'R
where A is m*n Hermitian/symmetric positive definite sparse matrix (that is defined in CSR storage format by the three arrays csrValM, csrRowPtrA and csrColIndA).
Notice that only a lower or upper Hermitian/symmetric part of the matrix A is actually stored. It is overwritten by the lower or upper triangular factor R' or R, respectively.
A call to this routine must be preceeded by a call to the csrsv_analysis routine. This function requires some extra storage. It is executed asynchronously with respect to the host and it may return control to the application on the host before the result is ready.
Declaration
public void Csric0(cusparseOperation trans, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA_ValM, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | trans | the operation op(A). |
| System.Int32 | m | number of rows and columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | csrValA_ValM | array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure with information collected during the analysis phase (that should have been passed to the solve phase unchanged). |
Csric0(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo)
This function computes the incomplete-Cholesky factorization with 0 fill-in and no pivoting
op(A) ≈ R'R
where A is m*n Hermitian/symmetric positive definite sparse matrix (that is defined in CSR storage format by the three arrays csrValM, csrRowPtrA and csrColIndA).
Notice that only a lower or upper Hermitian/symmetric part of the matrix A is actually stored. It is overwritten by the lower or upper triangular factor R' or R, respectively.
A call to this routine must be preceeded by a call to the csrsv_analysis routine. This function requires some extra storage. It is executed asynchronously with respect to the host and it may return control to the application on the host before the result is ready.
Declaration
public void Csric0(cusparseOperation trans, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA_ValM, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | trans | the operation op(A). |
| System.Int32 | m | number of rows and columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | csrValA_ValM | array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure with information collected during the analysis phase (that should have been passed to the solve phase unchanged). |
Csric02(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsric02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public void Csric02(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA_ValM, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsric02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA_ValM | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. Output: matrix containing the incomplete-LU lower and upper triangular factors. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsric02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
Csric02(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsric02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public void Csric02(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA_ValM, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsric02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | csrValA_ValM | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. Output: matrix containing the incomplete-LU lower and upper triangular factors. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsric02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
Csric02(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsric02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public void Csric02(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA_ValM, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsric02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | csrValA_ValM | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. Output: matrix containing the incomplete-LU lower and upper triangular factors. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsric02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
Csric02(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsric02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public void Csric02(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA_ValM, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsric02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | csrValA_ValM | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. Output: matrix containing the incomplete-LU lower and upper triangular factors. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsric02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
Csric02Analysis(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsric02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public void Csric02Analysis(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsric02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsric02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
Csric02Analysis(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsric02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public void Csric02Analysis(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsric02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsric02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
Csric02Analysis(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsric02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public void Csric02Analysis(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsric02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsric02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
Csric02Analysis(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsric02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public void Csric02Analysis(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsric02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsric02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
Csric02BufferSize(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsric02Info)
This function returns size of buffer used in computing the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public SizeT Csric02BufferSize(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsric02Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsric02Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Csric02BufferSize(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsric02Info)
This function returns size of buffer used in computing the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public SizeT Csric02BufferSize(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsric02Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsric02Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Csric02BufferSize(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsric02Info)
This function returns size of buffer used in computing the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public SizeT Csric02BufferSize(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsric02Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsric02Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Csric02BufferSize(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsric02Info)
This function returns size of buffer used in computing the incomplete-Cholesky factorization with fill-in and no pivoting: A = LL^H
Declaration
public SizeT Csric02BufferSize(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsric02Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsric02Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Csric02ZeroPivot(CudaSparseCsric02Info, CudaDeviceVariable<Int32>)
If the returned error code is CUSPARSE_STATUS_ZERO_PIVOT, position=j means A(j,j) has either a structural zero or a numerical zero. Otherwise position=-1.
The position can be 0-based or 1-based, the same as the matrix.
Function cusparseXcsrsv2_zeroPivot() is a blocking call. It calls cudaDeviceSynchronize() to make sure all previous kernels are done.
The position can be in the host memory or device memory. The user can set the proper mode with cusparseSetPointerMode().
Declaration
public bool Csric02ZeroPivot(CudaSparseCsric02Info info, CudaDeviceVariable<int> position)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseCsric02Info | info | info contains structural zero or numerical zero if the user already called csrsv2_analysis() or csrsv2_solve(). |
| CudaDeviceVariable<System.Int32> | position | if no structural or numerical zero, position is -1; otherwise, if A(j,j) is missing or U(j,j) is zero, position=j. |
Returns
| Type | Description |
|---|---|
| System.Boolean | If true, position=j means A(j,j) has either a structural zero or a numerical zero; otherwise, position=-1. |
Csric02ZeroPivot(CudaSparseCsric02Info, ref Int32)
If the returned error code is CUSPARSE_STATUS_ZERO_PIVOT, position=j means A(j,j) has either a structural zero or a numerical zero. Otherwise position=-1.
The position can be 0-based or 1-based, the same as the matrix.
Function cusparseXcsrsv2_zeroPivot() is a blocking call. It calls cudaDeviceSynchronize() to make sure all previous kernels are done.
The position can be in the host memory or device memory. The user can set the proper mode with cusparseSetPointerMode().
Declaration
public bool Csric02ZeroPivot(CudaSparseCsric02Info info, ref int position)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseCsric02Info | info | info contains structural zero or numerical zero if the user already called csrsv2_analysis() or csrsv2_solve(). |
| System.Int32 | position | if no structural or numerical zero, position is -1; otherwise, if A(j,j) is missing or U(j,j) is zero, position=j. |
Returns
| Type | Description |
|---|---|
| System.Boolean | If true, position=j means A(j,j) has either a structural zero or a numerical zero; otherwise, position=-1. |
Csrilu0(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo)
This function computes the incomplete-LU factorization with 0 fill-in and no pivoting
op(A) ≈ LU
where A is m*n sparse matrix (that is defined in CSR storage format by the three arrays csrValM, csrRowPtrA and csrColIndA).
Notice that the diagonal of lower triangular factor L is unitary and need not be stored. Therefore the input matrix is ovewritten with the resulting lower and upper triangular factor L and U, respectively.
A call to this routine must be preceeded by a call to the csrsv_analysis routine. This function requires some extra storage. It is executed asynchronously with respect to the host and it may return control to the application on the host before the result is ready.
Declaration
public void Csrilu0(cusparseOperation trans, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA_ValM, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | trans | the operation op(A). |
| System.Int32 | m | number of rows and columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA_ValM | array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure with information collected during the analysis phase (that should have been passed to the solve phase unchanged). |
Csrilu0(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo)
This function computes the incomplete-LU factorization with 0 fill-in and no pivoting
op(A) ≈ LU
where A is m*n sparse matrix (that is defined in CSR storage format by the three arrays csrValM, csrRowPtrA and csrColIndA).
Notice that the diagonal of lower triangular factor L is unitary and need not be stored. Therefore the input matrix is ovewritten with the resulting lower and upper triangular factor L and U, respectively.
A call to this routine must be preceeded by a call to the csrsv_analysis routine. This function requires some extra storage. It is executed asynchronously with respect to the host and it may return control to the application on the host before the result is ready.
Declaration
public void Csrilu0(cusparseOperation trans, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA_ValM, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | trans | the operation op(A). |
| System.Int32 | m | number of rows and columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | csrValA_ValM | array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure with information collected during the analysis phase (that should have been passed to the solve phase unchanged). |
Csrilu0(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo)
This function computes the incomplete-LU factorization with 0 fill-in and no pivoting
op(A) ≈ LU
where A is m*n sparse matrix (that is defined in CSR storage format by the three arrays csrValM, csrRowPtrA and csrColIndA).
Notice that the diagonal of lower triangular factor L is unitary and need not be stored. Therefore the input matrix is ovewritten with the resulting lower and upper triangular factor L and U, respectively.
A call to this routine must be preceeded by a call to the csrsv_analysis routine. This function requires some extra storage. It is executed asynchronously with respect to the host and it may return control to the application on the host before the result is ready.
Declaration
public void Csrilu0(cusparseOperation trans, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA_ValM, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | trans | the operation op(A). |
| System.Int32 | m | number of rows and columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | csrValA_ValM | array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure with information collected during the analysis phase (that should have been passed to the solve phase unchanged). |
Csrilu0(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo)
This function computes the incomplete-LU factorization with 0 fill-in and no pivoting
op(A) ≈ LU
where A is m*n sparse matrix (that is defined in CSR storage format by the three arrays csrValM, csrRowPtrA and csrColIndA).
Notice that the diagonal of lower triangular factor L is unitary and need not be stored. Therefore the input matrix is ovewritten with the resulting lower and upper triangular factor L and U, respectively.
A call to this routine must be preceeded by a call to the csrsv_analysis routine. This function requires some extra storage. It is executed asynchronously with respect to the host and it may return control to the application on the host before the result is ready.
Declaration
public void Csrilu0(cusparseOperation trans, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA_ValM, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | trans | the operation op(A). |
| System.Int32 | m | number of rows and columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | csrValA_ValM | array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure with information collected during the analysis phase (that should have been passed to the solve phase unchanged). |
Csrilu02(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrilu02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the incomplete-LU factorization with fill-in and no pivoting: A = LU
Declaration
public void Csrilu02(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA_ValM, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrilu02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA_ValM | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. Output: matrix containing the incomplete-LU lower and upper triangular factors. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrilu02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
Csrilu02(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrilu02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the incomplete-LU factorization with fill-in and no pivoting: A = LU
Declaration
public void Csrilu02(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA_ValM, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrilu02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | csrValA_ValM | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. Output: matrix containing the incomplete-LU lower and upper triangular factors. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrilu02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
Csrilu02(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrilu02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the incomplete-LU factorization with fill-in and no pivoting: A = LU
Declaration
public void Csrilu02(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA_ValM, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrilu02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | csrValA_ValM | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. Output: matrix containing the incomplete-LU lower and upper triangular factors. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrilu02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
Csrilu02(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrilu02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the solve phase of the incomplete-LU factorization with fill-in and no pivoting: A = LU
Declaration
public void Csrilu02(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA_ValM, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrilu02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | csrValA_ValM | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. Output: matrix containing the incomplete-LU lower and upper triangular factors. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrilu02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
Csrilu02Analysis(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrilu02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of the incomplete-LU factorization with fillin and no pivoting: A = LU
Declaration
public void Csrilu02Analysis(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrilu02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrilu02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
Csrilu02Analysis(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrilu02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of the incomplete-LU factorization with fillin and no pivoting: A = LU
Declaration
public void Csrilu02Analysis(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrilu02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrilu02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
Csrilu02Analysis(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrilu02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of the incomplete-LU factorization with fillin and no pivoting: A = LU
Declaration
public void Csrilu02Analysis(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrilu02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrilu02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
Csrilu02Analysis(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrilu02Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of the incomplete-LU factorization with fillin and no pivoting: A = LU
Declaration
public void Csrilu02Analysis(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrilu02Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrilu02Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
Csrilu02BufferSize(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrilu02Info)
This function returns size of the buffer used in computing the incomplete-LU factorization with fill-in and no pivoting: A = LU
Declaration
public SizeT Csrilu02BufferSize(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrilu02Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrilu02Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Csrilu02BufferSize(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrilu02Info)
This function returns size of the buffer used in computing the incomplete-LU factorization with fill-in and no pivoting: A = LU
Declaration
public SizeT Csrilu02BufferSize(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrilu02Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrilu02Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Csrilu02BufferSize(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrilu02Info)
This function returns size of the buffer used in computing the incomplete-LU factorization with fill-in and no pivoting: A = LU
Declaration
public SizeT Csrilu02BufferSize(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrilu02Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrilu02Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Csrilu02BufferSize(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrilu02Info)
This function returns size of the buffer used in computing the incomplete-LU factorization with fill-in and no pivoting: A = LU
Declaration
public SizeT Csrilu02BufferSize(int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrilu02Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrilu02Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Csrilu02NumericBoost(csrilu02Info, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<cuDoubleComplex>)
The user can use a boost value to replace a numerical value in incomplete LU factorization. The tol is used to determine a numerical zero, and the boost_val is used to replace a numerical zero. The behavior is
if tol >= fabs(A(j,j)), then A(j,j)=boost_val.
To enable a boost value, the user has to set parameter enable_boost to 1 before calling csrilu02(). To disable a boost value, the user can call csrilu02_numericBoost() again with parameter enable_boost=0.
If enable_boost=0, tol and boost_val are ignored.
Declaration
public void Csrilu02NumericBoost(csrilu02Info info, int enable_boost, CudaDeviceVariable<double> tol, CudaDeviceVariable<cuDoubleComplex> boost_val)
Parameters
| Type | Name | Description |
|---|---|---|
| csrilu02Info | info | structure initialized using cusparseCreateCsrilu02Info(). |
| System.Int32 | enable_boost | disable boost by enable_boost=0; otherwise, boost is enabled. |
| CudaDeviceVariable<System.Double> | tol | tolerance to determine a numerical zero. |
| CudaDeviceVariable<cuDoubleComplex> | boost_val | boost value to replace a numerical zero. |
Csrilu02NumericBoost(csrilu02Info, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<cuFloatComplex>)
The user can use a boost value to replace a numerical value in incomplete LU factorization. The tol is used to determine a numerical zero, and the boost_val is used to replace a numerical zero. The behavior is
if tol >= fabs(A(j,j)), then A(j,j)=boost_val.
To enable a boost value, the user has to set parameter enable_boost to 1 before calling csrilu02(). To disable a boost value, the user can call csrilu02_numericBoost() again with parameter enable_boost=0.
If enable_boost=0, tol and boost_val are ignored.
Declaration
public void Csrilu02NumericBoost(csrilu02Info info, int enable_boost, CudaDeviceVariable<double> tol, CudaDeviceVariable<cuFloatComplex> boost_val)
Parameters
| Type | Name | Description |
|---|---|---|
| csrilu02Info | info | structure initialized using cusparseCreateCsrilu02Info(). |
| System.Int32 | enable_boost | disable boost by enable_boost=0; otherwise, boost is enabled. |
| CudaDeviceVariable<System.Double> | tol | tolerance to determine a numerical zero. |
| CudaDeviceVariable<cuFloatComplex> | boost_val | boost value to replace a numerical zero. |
Csrilu02NumericBoost(csrilu02Info, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>)
The user can use a boost value to replace a numerical value in incomplete LU factorization. The tol is used to determine a numerical zero, and the boost_val is used to replace a numerical zero. The behavior is
if tol >= fabs(A(j,j)), then A(j,j)=boost_val.
To enable a boost value, the user has to set parameter enable_boost to 1 before calling csrilu02(). To disable a boost value, the user can call csrilu02_numericBoost() again with parameter enable_boost=0.
If enable_boost=0, tol and boost_val are ignored.
Declaration
public void Csrilu02NumericBoost(csrilu02Info info, int enable_boost, CudaDeviceVariable<double> tol, CudaDeviceVariable<double> boost_val)
Parameters
| Type | Name | Description |
|---|---|---|
| csrilu02Info | info | structure initialized using cusparseCreateCsrilu02Info(). |
| System.Int32 | enable_boost | disable boost by enable_boost=0; otherwise, boost is enabled. |
| CudaDeviceVariable<System.Double> | tol | tolerance to determine a numerical zero. |
| CudaDeviceVariable<System.Double> | boost_val | boost value to replace a numerical zero. |
Csrilu02NumericBoost(csrilu02Info, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Single>)
The user can use a boost value to replace a numerical value in incomplete LU factorization. The tol is used to determine a numerical zero, and the boost_val is used to replace a numerical zero. The behavior is
if tol >= fabs(A(j,j)), then A(j,j)=boost_val.
To enable a boost value, the user has to set parameter enable_boost to 1 before calling csrilu02(). To disable a boost value, the user can call csrilu02_numericBoost() again with parameter enable_boost=0.
If enable_boost=0, tol and boost_val are ignored.
Declaration
public void Csrilu02NumericBoost(csrilu02Info info, int enable_boost, CudaDeviceVariable<double> tol, CudaDeviceVariable<float> boost_val)
Parameters
| Type | Name | Description |
|---|---|---|
| csrilu02Info | info | structure initialized using cusparseCreateCsrilu02Info(). |
| System.Int32 | enable_boost | disable boost by enable_boost=0; otherwise, boost is enabled. |
| CudaDeviceVariable<System.Double> | tol | tolerance to determine a numerical zero. |
| CudaDeviceVariable<System.Single> | boost_val | boost value to replace a numerical zero. |
Csrilu02NumericBoost(csrilu02Info, Int32, ref Double, ref cuDoubleComplex)
The user can use a boost value to replace a numerical value in incomplete LU factorization. The tol is used to determine a numerical zero, and the boost_val is used to replace a numerical zero. The behavior is
if tol >= fabs(A(j,j)), then A(j,j)=boost_val.
To enable a boost value, the user has to set parameter enable_boost to 1 before calling csrilu02(). To disable a boost value, the user can call csrilu02_numericBoost() again with parameter enable_boost=0.
If enable_boost=0, tol and boost_val are ignored.
Declaration
public void Csrilu02NumericBoost(csrilu02Info info, int enable_boost, ref double tol, ref cuDoubleComplex boost_val)
Parameters
| Type | Name | Description |
|---|---|---|
| csrilu02Info | info | structure initialized using cusparseCreateCsrilu02Info(). |
| System.Int32 | enable_boost | disable boost by enable_boost=0; otherwise, boost is enabled. |
| System.Double | tol | tolerance to determine a numerical zero. |
| cuDoubleComplex | boost_val | boost value to replace a numerical zero. |
Csrilu02NumericBoost(csrilu02Info, Int32, ref Double, ref cuFloatComplex)
The user can use a boost value to replace a numerical value in incomplete LU factorization. The tol is used to determine a numerical zero, and the boost_val is used to replace a numerical zero. The behavior is
if tol >= fabs(A(j,j)), then A(j,j)=boost_val.
To enable a boost value, the user has to set parameter enable_boost to 1 before calling csrilu02(). To disable a boost value, the user can call csrilu02_numericBoost() again with parameter enable_boost=0.
If enable_boost=0, tol and boost_val are ignored.
Declaration
public void Csrilu02NumericBoost(csrilu02Info info, int enable_boost, ref double tol, ref cuFloatComplex boost_val)
Parameters
| Type | Name | Description |
|---|---|---|
| csrilu02Info | info | structure initialized using cusparseCreateCsrilu02Info(). |
| System.Int32 | enable_boost | disable boost by enable_boost=0; otherwise, boost is enabled. |
| System.Double | tol | tolerance to determine a numerical zero. |
| cuFloatComplex | boost_val | boost value to replace a numerical zero. |
Csrilu02NumericBoost(csrilu02Info, Int32, ref Double, ref Double)
The user can use a boost value to replace a numerical value in incomplete LU factorization. The tol is used to determine a numerical zero, and the boost_val is used to replace a numerical zero. The behavior is
if tol >= fabs(A(j,j)), then A(j,j)=boost_val.
To enable a boost value, the user has to set parameter enable_boost to 1 before calling csrilu02(). To disable a boost value, the user can call csrilu02_numericBoost() again with parameter enable_boost=0.
If enable_boost=0, tol and boost_val are ignored.
Declaration
public void Csrilu02NumericBoost(csrilu02Info info, int enable_boost, ref double tol, ref double boost_val)
Parameters
| Type | Name | Description |
|---|---|---|
| csrilu02Info | info | structure initialized using cusparseCreateCsrilu02Info(). |
| System.Int32 | enable_boost | disable boost by enable_boost=0; otherwise, boost is enabled. |
| System.Double | tol | tolerance to determine a numerical zero. |
| System.Double | boost_val | boost value to replace a numerical zero. |
Csrilu02NumericBoost(csrilu02Info, Int32, ref Double, ref Single)
The user can use a boost value to replace a numerical value in incomplete LU factorization. The tol is used to determine a numerical zero, and the boost_val is used to replace a numerical zero. The behavior is
if tol >= fabs(A(j,j)), then A(j,j)=boost_val.
To enable a boost value, the user has to set parameter enable_boost to 1 before calling csrilu02(). To disable a boost value, the user can call csrilu02_numericBoost() again with parameter enable_boost=0.
If enable_boost=0, tol and boost_val are ignored.
Declaration
public void Csrilu02NumericBoost(csrilu02Info info, int enable_boost, ref double tol, ref float boost_val)
Parameters
| Type | Name | Description |
|---|---|---|
| csrilu02Info | info | structure initialized using cusparseCreateCsrilu02Info(). |
| System.Int32 | enable_boost | disable boost by enable_boost=0; otherwise, boost is enabled. |
| System.Double | tol | tolerance to determine a numerical zero. |
| System.Single | boost_val | boost value to replace a numerical zero. |
Csrilu02ZeroPivot(CudaSparseCsrilu02Info, CudaDeviceVariable<Int32>)
If the returned error code is CUSPARSE_STATUS_ZERO_PIVOT, position=j means A(j,j) has either a structural zero or a numerical zero. Otherwise position=-1.
The position can be 0-based or 1-based, the same as the matrix.
Function cusparseXcsrsv2_zeroPivot() is a blocking call. It calls cudaDeviceSynchronize() to make sure all previous kernels are done.
The position can be in the host memory or device memory. The user can set the proper mode with cusparseSetPointerMode().
Declaration
public bool Csrilu02ZeroPivot(CudaSparseCsrilu02Info info, CudaDeviceVariable<int> position)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseCsrilu02Info | info | info contains structural zero or numerical zero if the user already called csrsv2_analysis() or csrsv2_solve(). |
| CudaDeviceVariable<System.Int32> | position | if no structural or numerical zero, position is -1; otherwise, if A(j,j) is missing or U(j,j) is zero, position=j. |
Returns
| Type | Description |
|---|---|
| System.Boolean | If true, position=j means A(j,j) has either a structural zero or a numerical zero; otherwise, position=-1. |
Csrilu02ZeroPivot(CudaSparseCsrilu02Info, ref Int32)
If the returned error code is CUSPARSE_STATUS_ZERO_PIVOT, position=j means A(j,j) has either a structural zero or a numerical zero. Otherwise position=-1.
The position can be 0-based or 1-based, the same as the matrix.
Function cusparseXcsrsv2_zeroPivot() is a blocking call. It calls cudaDeviceSynchronize() to make sure all previous kernels are done.
The position can be in the host memory or device memory. The user can set the proper mode with cusparseSetPointerMode().
Declaration
public bool Csrilu02ZeroPivot(CudaSparseCsrilu02Info info, ref int position)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseCsrilu02Info | info | info contains structural zero or numerical zero if the user already called csrsv2_analysis() or csrsv2_solve(). |
| System.Int32 | position | if no structural or numerical zero, position is -1; otherwise, if A(j,j) is missing or U(j,j) is zero, position=j. |
Returns
| Type | Description |
|---|---|
| System.Boolean | If true, position=j means A(j,j) has either a structural zero or a numerical zero; otherwise, position=-1. |
Csrmm(cusparseOperation, Int32, Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, Int32)
Matrix-matrix multiplication C = alpha * op(A) * B + beta * C, where A is a sparse matrix, B and C are dense and usually tall matrices.
Declaration
public void Csrmm(cusparseOperation transA, int m, int n, int k, CudaDeviceVariable<cuDoubleComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuDoubleComplex> B, int ldb, CudaDeviceVariable<cuDoubleComplex> beta, CudaDeviceVariable<cuDoubleComplex> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of dense matrices B and C. |
| System.Int32 | k | number of columns of sparse matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuDoubleComplex> | B | array of dimensions (ldb, n). |
| System.Int32 | ldb | leading dimension of B. It must be at least max (1, k) if op(A) = A, and at least max (1, m) otherwise. |
| CudaDeviceVariable<cuDoubleComplex> | beta | scalar used for multiplication. If beta is zero, C does not have to be a valid input. |
| CudaDeviceVariable<cuDoubleComplex> | C | array of dimensions (ldc, n). |
| System.Int32 | ldc | leading dimension of C. It must be at least max (1, m) if op(A) = A and at least max (1, k) otherwise. |
Csrmm(cusparseOperation, Int32, Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, Int32)
Matrix-matrix multiplication C = alpha * op(A) * B + beta * C, where A is a sparse matrix, B and C are dense and usually tall matrices.
Declaration
public void Csrmm(cusparseOperation transA, int m, int n, int k, CudaDeviceVariable<cuFloatComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuFloatComplex> B, int ldb, CudaDeviceVariable<cuFloatComplex> beta, CudaDeviceVariable<cuFloatComplex> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of dense matrices B and C. |
| System.Int32 | k | number of columns of sparse matrix A. |
| CudaDeviceVariable<cuFloatComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuFloatComplex> | B | array of dimensions (ldb, n). |
| System.Int32 | ldb | leading dimension of B. It must be at least max (1, k) if op(A) = A, and at least max (1, m) otherwise. |
| CudaDeviceVariable<cuFloatComplex> | beta | scalar used for multiplication. If beta is zero, C does not have to be a valid input. |
| CudaDeviceVariable<cuFloatComplex> | C | array of dimensions (ldc, n). |
| System.Int32 | ldc | leading dimension of C. It must be at least max (1, m) if op(A) = A and at least max (1, k) otherwise. |
Csrmm(cusparseOperation, Int32, Int32, Int32, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, Int32)
Matrix-matrix multiplication C = alpha * op(A) * B + beta * C, where A is a sparse matrix, B and C are dense and usually tall matrices.
Declaration
public void Csrmm(cusparseOperation transA, int m, int n, int k, CudaDeviceVariable<double> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<double> B, int ldb, CudaDeviceVariable<double> beta, CudaDeviceVariable<double> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of dense matrices B and C. |
| System.Int32 | k | number of columns of sparse matrix A. |
| CudaDeviceVariable<System.Double> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Double> | B | array of dimensions (ldb, n). |
| System.Int32 | ldb | leading dimension of B. It must be at least max (1, k) if op(A) = A, and at least max (1, m) otherwise. |
| CudaDeviceVariable<System.Double> | beta | scalar used for multiplication. If beta is zero, C does not have to be a valid input. |
| CudaDeviceVariable<System.Double> | C | array of dimensions (ldc, n). |
| System.Int32 | ldc | leading dimension of C. It must be at least max (1, m) if op(A) = A and at least max (1, k) otherwise. |
Csrmm(cusparseOperation, Int32, Int32, Int32, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, Int32)
Matrix-matrix multiplication C = alpha * op(A) * B + beta * C, where A is a sparse matrix, B and C are dense and usually tall matrices.
Declaration
public void Csrmm(cusparseOperation transA, int m, int n, int k, CudaDeviceVariable<float> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<float> B, int ldb, CudaDeviceVariable<float> beta, CudaDeviceVariable<float> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of dense matrices B and C. |
| System.Int32 | k | number of columns of sparse matrix A. |
| CudaDeviceVariable<System.Single> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Single> | B | array of dimensions (ldb, n). |
| System.Int32 | ldb | leading dimension of B. It must be at least max (1, k) if op(A) = A, and at least max (1, m) otherwise. |
| CudaDeviceVariable<System.Single> | beta | scalar used for multiplication. If beta is zero, C does not have to be a valid input. |
| CudaDeviceVariable<System.Single> | C | array of dimensions (ldc, n). |
| System.Int32 | ldc | leading dimension of C. It must be at least max (1, m) if op(A) = A and at least max (1, k) otherwise. |
Csrmm(cusparseOperation, Int32, Int32, Int32, cuDoubleComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, Int32, cuDoubleComplex, CudaDeviceVariable<cuDoubleComplex>, Int32)
Matrix-matrix multiplication C = alpha * op(A) * B + beta * C, where A is a sparse matrix, B and C are dense and usually tall matrices.
Declaration
public void Csrmm(cusparseOperation transA, int m, int n, int k, cuDoubleComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuDoubleComplex> B, int ldb, cuDoubleComplex beta, CudaDeviceVariable<cuDoubleComplex> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of dense matrices B and C. |
| System.Int32 | k | number of columns of sparse matrix A. |
| cuDoubleComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuDoubleComplex> | B | array of dimensions (ldb, n). |
| System.Int32 | ldb | leading dimension of B. It must be at least max (1, k) if op(A) = A, and at least max (1, m) otherwise. |
| cuDoubleComplex | beta | scalar used for multiplication. If beta is zero, C does not have to be a valid input. |
| CudaDeviceVariable<cuDoubleComplex> | C | array of dimensions (ldc, n). |
| System.Int32 | ldc | leading dimension of C. It must be at least max (1, m) if op(A) = A and at least max (1, k) otherwise. |
Csrmm(cusparseOperation, Int32, Int32, Int32, cuFloatComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, Int32, cuFloatComplex, CudaDeviceVariable<cuFloatComplex>, Int32)
Matrix-matrix multiplication C = alpha * op(A) * B + beta * C, where A is a sparse matrix, B and C are dense and usually tall matrices.
Declaration
public void Csrmm(cusparseOperation transA, int m, int n, int k, cuFloatComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuFloatComplex> B, int ldb, cuFloatComplex beta, CudaDeviceVariable<cuFloatComplex> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of dense matrices B and C. |
| System.Int32 | k | number of columns of sparse matrix A. |
| cuFloatComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuFloatComplex> | B | array of dimensions (ldb, n). |
| System.Int32 | ldb | leading dimension of B. It must be at least max (1, k) if op(A) = A, and at least max (1, m) otherwise. |
| cuFloatComplex | beta | scalar used for multiplication. If beta is zero, C does not have to be a valid input. |
| CudaDeviceVariable<cuFloatComplex> | C | array of dimensions (ldc, n). |
| System.Int32 | ldc | leading dimension of C. It must be at least max (1, m) if op(A) = A and at least max (1, k) otherwise. |
Csrmm(cusparseOperation, Int32, Int32, Int32, Double, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, Int32, Double, CudaDeviceVariable<Double>, Int32)
Matrix-matrix multiplication C = alpha * op(A) * B + beta * C, where A is a sparse matrix, B and C are dense and usually tall matrices.
Declaration
public void Csrmm(cusparseOperation transA, int m, int n, int k, double alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<double> B, int ldb, double beta, CudaDeviceVariable<double> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of dense matrices B and C. |
| System.Int32 | k | number of columns of sparse matrix A. |
| System.Double | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Double> | B | array of dimensions (ldb, n). |
| System.Int32 | ldb | leading dimension of B. It must be at least max (1, k) if op(A) = A, and at least max (1, m) otherwise. |
| System.Double | beta | scalar used for multiplication. If beta is zero, C does not have to be a valid input. |
| CudaDeviceVariable<System.Double> | C | array of dimensions (ldc, n). |
| System.Int32 | ldc | leading dimension of C. It must be at least max (1, m) if op(A) = A and at least max (1, k) otherwise. |
Csrmm(cusparseOperation, Int32, Int32, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, Int32, Single, CudaDeviceVariable<Single>, Int32)
Matrix-matrix multiplication C = alpha * op(A) * B + beta * C, where A is a sparse matrix, B and C are dense and usually tall matrices.
Declaration
public void Csrmm(cusparseOperation transA, int m, int n, int k, float alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<float> B, int ldb, float beta, CudaDeviceVariable<float> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of sparse matrix A. |
| System.Int32 | n | number of columns of dense matrices B and C. |
| System.Int32 | k | number of columns of sparse matrix A. |
| System.Single | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Single> | B | array of dimensions (ldb, n). |
| System.Int32 | ldb | leading dimension of B. It must be at least max (1, k) if op(A) = A, and at least max (1, m) otherwise. |
| System.Single | beta | scalar used for multiplication. If beta is zero, C does not have to be a valid input. |
| CudaDeviceVariable<System.Single> | C | array of dimensions (ldc, n). |
| System.Int32 | ldc | leading dimension of C. It must be at least max (1, m) if op(A) = A and at least max (1, k) otherwise. |
Csrmm2(cusparseOperation, cusparseOperation, Int32, Int32, Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, cusparseMatDescr, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, Int32)
Declaration
public void Csrmm2(cusparseOperation transa, cusparseOperation transb, int m, int n, int k, int nnz, CudaDeviceVariable<cuDoubleComplex> alpha, cusparseMatDescr descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuDoubleComplex> B, int ldb, CudaDeviceVariable<cuDoubleComplex> beta, CudaDeviceVariable<cuDoubleComplex> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transa | |
| cusparseOperation | transb | |
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | k | |
| System.Int32 | nnz | |
| CudaDeviceVariable<cuDoubleComplex> | alpha | |
| cusparseMatDescr | descrA | |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| CudaDeviceVariable<cuDoubleComplex> | B | |
| System.Int32 | ldb | |
| CudaDeviceVariable<cuDoubleComplex> | beta | |
| CudaDeviceVariable<cuDoubleComplex> | C | |
| System.Int32 | ldc |
Csrmm2(cusparseOperation, cusparseOperation, Int32, Int32, Int32, Int32, CudaDeviceVariable<cuFloatComplex>, cusparseMatDescr, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, Int32)
Declaration
public void Csrmm2(cusparseOperation transa, cusparseOperation transb, int m, int n, int k, int nnz, CudaDeviceVariable<cuFloatComplex> alpha, cusparseMatDescr descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuFloatComplex> B, int ldb, CudaDeviceVariable<cuFloatComplex> beta, CudaDeviceVariable<cuFloatComplex> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transa | |
| cusparseOperation | transb | |
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | k | |
| System.Int32 | nnz | |
| CudaDeviceVariable<cuFloatComplex> | alpha | |
| cusparseMatDescr | descrA | |
| CudaDeviceVariable<cuFloatComplex> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| CudaDeviceVariable<cuFloatComplex> | B | |
| System.Int32 | ldb | |
| CudaDeviceVariable<cuFloatComplex> | beta | |
| CudaDeviceVariable<cuFloatComplex> | C | |
| System.Int32 | ldc |
Csrmm2(cusparseOperation, cusparseOperation, Int32, Int32, Int32, Int32, CudaDeviceVariable<Double>, cusparseMatDescr, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, Int32)
Declaration
public void Csrmm2(cusparseOperation transa, cusparseOperation transb, int m, int n, int k, int nnz, CudaDeviceVariable<double> alpha, cusparseMatDescr descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<double> B, int ldb, CudaDeviceVariable<double> beta, CudaDeviceVariable<double> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transa | |
| cusparseOperation | transb | |
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | k | |
| System.Int32 | nnz | |
| CudaDeviceVariable<System.Double> | alpha | |
| cusparseMatDescr | descrA | |
| CudaDeviceVariable<System.Double> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| CudaDeviceVariable<System.Double> | B | |
| System.Int32 | ldb | |
| CudaDeviceVariable<System.Double> | beta | |
| CudaDeviceVariable<System.Double> | C | |
| System.Int32 | ldc |
Csrmm2(cusparseOperation, cusparseOperation, Int32, Int32, Int32, Int32, CudaDeviceVariable<Single>, cusparseMatDescr, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, Int32)
Declaration
public void Csrmm2(cusparseOperation transa, cusparseOperation transb, int m, int n, int k, int nnz, CudaDeviceVariable<float> alpha, cusparseMatDescr descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<float> B, int ldb, CudaDeviceVariable<float> beta, CudaDeviceVariable<float> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transa | |
| cusparseOperation | transb | |
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | k | |
| System.Int32 | nnz | |
| CudaDeviceVariable<System.Single> | alpha | |
| cusparseMatDescr | descrA | |
| CudaDeviceVariable<System.Single> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| CudaDeviceVariable<System.Single> | B | |
| System.Int32 | ldb | |
| CudaDeviceVariable<System.Single> | beta | |
| CudaDeviceVariable<System.Single> | C | |
| System.Int32 | ldc |
Csrmm2(cusparseOperation, cusparseOperation, Int32, Int32, Int32, Int32, ref cuDoubleComplex, cusparseMatDescr, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, Int32, ref cuDoubleComplex, CudaDeviceVariable<cuDoubleComplex>, Int32)
Declaration
public void Csrmm2(cusparseOperation transa, cusparseOperation transb, int m, int n, int k, int nnz, ref cuDoubleComplex alpha, cusparseMatDescr descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuDoubleComplex> B, int ldb, ref cuDoubleComplex beta, CudaDeviceVariable<cuDoubleComplex> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transa | |
| cusparseOperation | transb | |
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | k | |
| System.Int32 | nnz | |
| cuDoubleComplex | alpha | |
| cusparseMatDescr | descrA | |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| CudaDeviceVariable<cuDoubleComplex> | B | |
| System.Int32 | ldb | |
| cuDoubleComplex | beta | |
| CudaDeviceVariable<cuDoubleComplex> | C | |
| System.Int32 | ldc |
Csrmm2(cusparseOperation, cusparseOperation, Int32, Int32, Int32, Int32, ref cuFloatComplex, cusparseMatDescr, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, Int32, ref cuFloatComplex, CudaDeviceVariable<cuFloatComplex>, Int32)
Declaration
public void Csrmm2(cusparseOperation transa, cusparseOperation transb, int m, int n, int k, int nnz, ref cuFloatComplex alpha, cusparseMatDescr descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuFloatComplex> B, int ldb, ref cuFloatComplex beta, CudaDeviceVariable<cuFloatComplex> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transa | |
| cusparseOperation | transb | |
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | k | |
| System.Int32 | nnz | |
| cuFloatComplex | alpha | |
| cusparseMatDescr | descrA | |
| CudaDeviceVariable<cuFloatComplex> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| CudaDeviceVariable<cuFloatComplex> | B | |
| System.Int32 | ldb | |
| cuFloatComplex | beta | |
| CudaDeviceVariable<cuFloatComplex> | C | |
| System.Int32 | ldc |
Csrmm2(cusparseOperation, cusparseOperation, Int32, Int32, Int32, Int32, ref Double, cusparseMatDescr, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, Int32, ref Double, CudaDeviceVariable<Double>, Int32)
Declaration
public void Csrmm2(cusparseOperation transa, cusparseOperation transb, int m, int n, int k, int nnz, ref double alpha, cusparseMatDescr descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<double> B, int ldb, ref double beta, CudaDeviceVariable<double> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transa | |
| cusparseOperation | transb | |
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | k | |
| System.Int32 | nnz | |
| System.Double | alpha | |
| cusparseMatDescr | descrA | |
| CudaDeviceVariable<System.Double> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| CudaDeviceVariable<System.Double> | B | |
| System.Int32 | ldb | |
| System.Double | beta | |
| CudaDeviceVariable<System.Double> | C | |
| System.Int32 | ldc |
Csrmm2(cusparseOperation, cusparseOperation, Int32, Int32, Int32, Int32, ref Single, cusparseMatDescr, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, Int32, ref Single, CudaDeviceVariable<Single>, Int32)
Declaration
public void Csrmm2(cusparseOperation transa, cusparseOperation transb, int m, int n, int k, int nnz, ref float alpha, cusparseMatDescr descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<float> B, int ldb, ref float beta, CudaDeviceVariable<float> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transa | |
| cusparseOperation | transb | |
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | k | |
| System.Int32 | nnz | |
| System.Single | alpha | |
| cusparseMatDescr | descrA | |
| CudaDeviceVariable<System.Single> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| CudaDeviceVariable<System.Single> | B | |
| System.Int32 | ldb | |
| System.Single | beta | |
| CudaDeviceVariable<System.Single> | C | |
| System.Int32 | ldc |
Csrmv(cusparseOperation, Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in CSR storage format, x and y are dense vectors.
Declaration
public void Csrmv(cusparseOperation transA, int m, int n, CudaDeviceVariable<cuDoubleComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuDoubleComplex> x, CudaDeviceVariable<cuDoubleComplex> beta, CudaDeviceVariable<cuDoubleComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuDoubleComplex> | x | vector of n elements if op(A) = A, and m elements if op(A) = AT or op(A) = AH. |
| CudaDeviceVariable<cuDoubleComplex> | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<cuDoubleComplex> | y | vector of m elements if op(A) = A and n elements if op(A) = AT or op(A) = AH. |
Csrmv(cusparseOperation, Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in CSR storage format, x and y are dense vectors.
Declaration
public void Csrmv(cusparseOperation transA, int m, int n, CudaDeviceVariable<cuFloatComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuFloatComplex> x, CudaDeviceVariable<cuFloatComplex> beta, CudaDeviceVariable<cuFloatComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuFloatComplex> | x | vector of n elements if op(A) = A, and m elements if op(A) = AT or op(A) = AH. |
| CudaDeviceVariable<cuFloatComplex> | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<cuFloatComplex> | y | vector of m elements if op(A) = A and n elements if op(A) = AT or op(A) = AH. |
Csrmv(cusparseOperation, Int32, Int32, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in CSR storage format, x and y are dense vectors.
Declaration
public void Csrmv(cusparseOperation transA, int m, int n, CudaDeviceVariable<double> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<double> x, CudaDeviceVariable<double> beta, CudaDeviceVariable<double> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<System.Double> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Double> | x | vector of n elements if op(A) = A, and m elements if op(A) = AT or op(A) = AH. |
| CudaDeviceVariable<System.Double> | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<System.Double> | y | vector of m elements if op(A) = A and n elements if op(A) = AT or op(A) = AH. |
Csrmv(cusparseOperation, Int32, Int32, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in CSR storage format, x and y are dense vectors.
Declaration
public void Csrmv(cusparseOperation transA, int m, int n, CudaDeviceVariable<float> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<float> x, CudaDeviceVariable<float> beta, CudaDeviceVariable<float> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<System.Single> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Single> | x | vector of n elements if op(A) = A, and m elements if op(A) = AT or op(A) = AH. |
| CudaDeviceVariable<System.Single> | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<System.Single> | y | vector of m elements if op(A) = A and n elements if op(A) = AT or op(A) = AH. |
Csrmv(cusparseOperation, Int32, Int32, cuDoubleComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, cuDoubleComplex, CudaDeviceVariable<cuDoubleComplex>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in CSR storage format, x and y are dense vectors.
Declaration
public void Csrmv(cusparseOperation transA, int m, int n, cuDoubleComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuDoubleComplex> x, cuDoubleComplex beta, CudaDeviceVariable<cuDoubleComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| cuDoubleComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuDoubleComplex> | x | vector of n elements if op(A) = A, and m elements if op(A) = AT or op(A) = AH. |
| cuDoubleComplex | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<cuDoubleComplex> | y | vector of m elements if op(A) = A and n elements if op(A) = AT or op(A) = AH. |
Csrmv(cusparseOperation, Int32, Int32, cuFloatComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, cuFloatComplex, CudaDeviceVariable<cuFloatComplex>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in CSR storage format, x and y are dense vectors.
Declaration
public void Csrmv(cusparseOperation transA, int m, int n, cuFloatComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuFloatComplex> x, cuFloatComplex beta, CudaDeviceVariable<cuFloatComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| cuFloatComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuFloatComplex> | x | vector of n elements if op(A) = A, and m elements if op(A) = AT or op(A) = AH. |
| cuFloatComplex | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<cuFloatComplex> | y | vector of m elements if op(A) = A and n elements if op(A) = AT or op(A) = AH. |
Csrmv(cusparseOperation, Int32, Int32, Double, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, Double, CudaDeviceVariable<Double>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in CSR storage format, x and y are dense vectors.
Declaration
public void Csrmv(cusparseOperation transA, int m, int n, double alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<double> x, double beta, CudaDeviceVariable<double> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Double | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Double> | x | vector of n elements if op(A) = A, and m elements if op(A) = AT or op(A) = AH. |
| System.Double | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<System.Double> | y | vector of m elements if op(A) = A and n elements if op(A) = AT or op(A) = AH. |
Csrmv(cusparseOperation, Int32, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, Single, CudaDeviceVariable<Single>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in CSR storage format, x and y are dense vectors.
Declaration
public void Csrmv(cusparseOperation transA, int m, int n, float alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<float> x, float beta, CudaDeviceVariable<float> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Single | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Single> | x | vector of n elements if op(A) = A, and m elements if op(A) = AT or op(A) = AH. |
| System.Single | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<System.Single> | y | vector of m elements if op(A) = A and n elements if op(A) = AT or op(A) = AH. |
CsrmvMP(cusparseOperation, Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in CSR storage format, x and y are dense vectors. Using a Merge Path load-balancing implementation.
Declaration
public void CsrmvMP(cusparseOperation transA, int m, int n, CudaDeviceVariable<cuDoubleComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuDoubleComplex> x, CudaDeviceVariable<cuDoubleComplex> beta, CudaDeviceVariable<cuDoubleComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuDoubleComplex> | x | vector of n elements if op(A) = A, and m elements if op(A) = AT or op(A) = AH. |
| CudaDeviceVariable<cuDoubleComplex> | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<cuDoubleComplex> | y | vector of m elements if op(A) = A and n elements if op(A) = AT or op(A) = AH. |
CsrmvMP(cusparseOperation, Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in CSR storage format, x and y are dense vectors. Using a Merge Path load-balancing implementation.
Declaration
public void CsrmvMP(cusparseOperation transA, int m, int n, CudaDeviceVariable<cuFloatComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuFloatComplex> x, CudaDeviceVariable<cuFloatComplex> beta, CudaDeviceVariable<cuFloatComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuFloatComplex> | x | vector of n elements if op(A) = A, and m elements if op(A) = AT or op(A) = AH. |
| CudaDeviceVariable<cuFloatComplex> | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<cuFloatComplex> | y | vector of m elements if op(A) = A and n elements if op(A) = AT or op(A) = AH. |
CsrmvMP(cusparseOperation, Int32, Int32, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in CSR storage format, x and y are dense vectors. Using a Merge Path load-balancing implementation.
Declaration
public void CsrmvMP(cusparseOperation transA, int m, int n, CudaDeviceVariable<double> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<double> x, CudaDeviceVariable<double> beta, CudaDeviceVariable<double> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<System.Double> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Double> | x | vector of n elements if op(A) = A, and m elements if op(A) = AT or op(A) = AH. |
| CudaDeviceVariable<System.Double> | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<System.Double> | y | vector of m elements if op(A) = A and n elements if op(A) = AT or op(A) = AH. |
CsrmvMP(cusparseOperation, Int32, Int32, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in CSR storage format, x and y are dense vectors. Using a Merge Path load-balancing implementation.
Declaration
public void CsrmvMP(cusparseOperation transA, int m, int n, CudaDeviceVariable<float> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<float> x, CudaDeviceVariable<float> beta, CudaDeviceVariable<float> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<System.Single> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Single> | x | vector of n elements if op(A) = A, and m elements if op(A) = AT or op(A) = AH. |
| CudaDeviceVariable<System.Single> | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<System.Single> | y | vector of m elements if op(A) = A and n elements if op(A) = AT or op(A) = AH. |
CsrmvMP(cusparseOperation, Int32, Int32, cuDoubleComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, cuDoubleComplex, CudaDeviceVariable<cuDoubleComplex>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in CSR storage format, x and y are dense vectors. Using a Merge Path load-balancing implementation.
Declaration
public void CsrmvMP(cusparseOperation transA, int m, int n, cuDoubleComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuDoubleComplex> x, cuDoubleComplex beta, CudaDeviceVariable<cuDoubleComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| cuDoubleComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuDoubleComplex> | x | vector of n elements if op(A) = A, and m elements if op(A) = AT or op(A) = AH. |
| cuDoubleComplex | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<cuDoubleComplex> | y | vector of m elements if op(A) = A and n elements if op(A) = AT or op(A) = AH. |
CsrmvMP(cusparseOperation, Int32, Int32, cuFloatComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, cuFloatComplex, CudaDeviceVariable<cuFloatComplex>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in CSR storage format, x and y are dense vectors. Using a Merge Path load-balancing implementation.
Declaration
public void CsrmvMP(cusparseOperation transA, int m, int n, cuFloatComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuFloatComplex> x, cuFloatComplex beta, CudaDeviceVariable<cuFloatComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| cuFloatComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuFloatComplex> | x | vector of n elements if op(A) = A, and m elements if op(A) = AT or op(A) = AH. |
| cuFloatComplex | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<cuFloatComplex> | y | vector of m elements if op(A) = A and n elements if op(A) = AT or op(A) = AH. |
CsrmvMP(cusparseOperation, Int32, Int32, Double, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, Double, CudaDeviceVariable<Double>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in CSR storage format, x and y are dense vectors. Using a Merge Path load-balancing implementation.
Declaration
public void CsrmvMP(cusparseOperation transA, int m, int n, double alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<double> x, double beta, CudaDeviceVariable<double> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Double | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Double> | x | vector of n elements if op(A) = A, and m elements if op(A) = AT or op(A) = AH. |
| System.Double | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<System.Double> | y | vector of m elements if op(A) = A and n elements if op(A) = AT or op(A) = AH. |
CsrmvMP(cusparseOperation, Int32, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, Single, CudaDeviceVariable<Single>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in CSR storage format, x and y are dense vectors. Using a Merge Path load-balancing implementation.
Declaration
public void CsrmvMP(cusparseOperation transA, int m, int n, float alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<float> x, float beta, CudaDeviceVariable<float> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Single | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix types are CUSPARSE_MATRIX_TYPE_GENERAL, CUSPARSE_MATRIX_TYPE_SYMMETRIC, and CUSPARSE_MATRIX_TYPE_HERMITIAN. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Single> | x | vector of n elements if op(A) = A, and m elements if op(A) = AT or op(A) = AH. |
| System.Single | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<System.Single> | y | vector of m elements if op(A) = A and n elements if op(A) = AT or op(A) = AH. |
CsrsmAnalysis(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo)
Solution of triangular linear system op(A) * Y = alpha * X, with multiple right-hand-sides, where A is a sparse matrix in CSR storage format, X and Y are dense and usually tall matrices.
Declaration
public void CsrsmAnalysis(cusparseOperation transA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
CsrsmAnalysis(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo)
Solution of triangular linear system op(A) * Y = alpha * X, with multiple right-hand-sides, where A is a sparse matrix in CSR storage format, X and Y are dense and usually tall matrices.
Declaration
public void CsrsmAnalysis(cusparseOperation transA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
CsrsmAnalysis(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo)
Solution of triangular linear system op(A) * Y = alpha * X, with multiple right-hand-sides, where A is a sparse matrix in CSR storage format, X and Y are dense and usually tall matrices.
Declaration
public void CsrsmAnalysis(cusparseOperation transA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
CsrsmAnalysis(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo)
Solution of triangular linear system op(A) * Y = alpha * X, with multiple right-hand-sides, where A is a sparse matrix in CSR storage format, X and Y are dense and usually tall matrices.
Declaration
public void CsrsmAnalysis(cusparseOperation transA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
CsrsmSolve(cusparseOperation, Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32)
Solution of triangular linear system op(A) * Y = alpha * X, with multiple right-hand-sides, where A is a sparse matrix in CSR storage format, X and Y are dense and usually tall matrices.
Declaration
public void CsrsmSolve(cusparseOperation transA, int m, int n, CudaDeviceVariable<cuDoubleComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<cuDoubleComplex> x, int ldx, CudaDeviceVariable<cuDoubleComplex> y, int ldy)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows and columns of matrix A. |
| System.Int32 | n | number of columns of matrix X and Y . |
| CudaDeviceVariable<cuDoubleComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure with information collected during the analysis phase (that should have been passed to the solve phase unchanged). |
| CudaDeviceVariable<cuDoubleComplex> | x | right-hand-side array of dimensions (ldx, n). |
| System.Int32 | ldx | leading dimension of X (that is >= max(1;m)). |
| CudaDeviceVariable<cuDoubleComplex> | y | solution array of dimensions (ldy, n). |
| System.Int32 | ldy | leading dimension of Y (that is >= max(1;m)). |
CsrsmSolve(cusparseOperation, Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<cuFloatComplex>, Int32)
Solution of triangular linear system op(A) * Y = alpha * X, with multiple right-hand-sides, where A is a sparse matrix in CSR storage format, X and Y are dense and usually tall matrices.
Declaration
public void CsrsmSolve(cusparseOperation transA, int m, int n, CudaDeviceVariable<cuFloatComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<cuFloatComplex> x, int ldx, CudaDeviceVariable<cuFloatComplex> y, int ldy)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows and columns of matrix A. |
| System.Int32 | n | number of columns of matrix X and Y . |
| CudaDeviceVariable<cuFloatComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure with information collected during the analysis phase (that should have been passed to the solve phase unchanged). |
| CudaDeviceVariable<cuFloatComplex> | x | right-hand-side array of dimensions (ldx, n). |
| System.Int32 | ldx | leading dimension of X (that is >= max(1;m)). |
| CudaDeviceVariable<cuFloatComplex> | y | solution array of dimensions (ldy, n). |
| System.Int32 | ldy | leading dimension of Y (that is >= max(1;m)). |
CsrsmSolve(cusparseOperation, Int32, Int32, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, Int32)
Solution of triangular linear system op(A) * Y = alpha * X, with multiple right-hand-sides, where A is a sparse matrix in CSR storage format, X and Y are dense and usually tall matrices.
Declaration
public void CsrsmSolve(cusparseOperation transA, int m, int n, CudaDeviceVariable<double> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<double> x, int ldx, CudaDeviceVariable<double> y, int ldy)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows and columns of matrix A. |
| System.Int32 | n | number of columns of matrix X and Y . |
| CudaDeviceVariable<System.Double> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure with information collected during the analysis phase (that should have been passed to the solve phase unchanged). |
| CudaDeviceVariable<System.Double> | x | right-hand-side array of dimensions (ldx, n). |
| System.Int32 | ldx | leading dimension of X (that is >= max(1;m)). |
| CudaDeviceVariable<System.Double> | y | solution array of dimensions (ldy, n). |
| System.Int32 | ldy | leading dimension of Y (that is >= max(1;m)). |
CsrsmSolve(cusparseOperation, Int32, Int32, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, Int32)
Solution of triangular linear system op(A) * Y = alpha * X, with multiple right-hand-sides, where A is a sparse matrix in CSR storage format, X and Y are dense and usually tall matrices.
Declaration
public void CsrsmSolve(cusparseOperation transA, int m, int n, CudaDeviceVariable<float> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<float> x, int ldx, CudaDeviceVariable<float> y, int ldy)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows and columns of matrix A. |
| System.Int32 | n | number of columns of matrix X and Y . |
| CudaDeviceVariable<System.Single> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure with information collected during the analysis phase (that should have been passed to the solve phase unchanged). |
| CudaDeviceVariable<System.Single> | x | right-hand-side array of dimensions (ldx, n). |
| System.Int32 | ldx | leading dimension of X (that is >= max(1;m)). |
| CudaDeviceVariable<System.Single> | y | solution array of dimensions (ldy, n). |
| System.Int32 | ldy | leading dimension of Y (that is >= max(1;m)). |
CsrsmSolve(cusparseOperation, Int32, Int32, cuDoubleComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<cuDoubleComplex>, Int32)
Solution of triangular linear system op(A) * Y = alpha * X, with multiple right-hand-sides, where A is a sparse matrix in CSR storage format, X and Y are dense and usually tall matrices.
Declaration
public void CsrsmSolve(cusparseOperation transA, int m, int n, cuDoubleComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<cuDoubleComplex> x, int ldx, CudaDeviceVariable<cuDoubleComplex> y, int ldy)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows and columns of matrix A. |
| System.Int32 | n | number of columns of matrix X and Y . |
| cuDoubleComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure with information collected during the analysis phase (that should have been passed to the solve phase unchanged). |
| CudaDeviceVariable<cuDoubleComplex> | x | right-hand-side array of dimensions (ldx, n). |
| System.Int32 | ldx | leading dimension of X (that is >= max(1;m)). |
| CudaDeviceVariable<cuDoubleComplex> | y | solution array of dimensions (ldy, n). |
| System.Int32 | ldy | leading dimension of Y (that is >= max(1;m)). |
CsrsmSolve(cusparseOperation, Int32, Int32, cuFloatComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<cuFloatComplex>, Int32)
Solution of triangular linear system op(A) * Y = alpha * X, with multiple right-hand-sides, where A is a sparse matrix in CSR storage format, X and Y are dense and usually tall matrices.
Declaration
public void CsrsmSolve(cusparseOperation transA, int m, int n, cuFloatComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<cuFloatComplex> x, int ldx, CudaDeviceVariable<cuFloatComplex> y, int ldy)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows and columns of matrix A. |
| System.Int32 | n | number of columns of matrix X and Y . |
| cuFloatComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure with information collected during the analysis phase (that should have been passed to the solve phase unchanged). |
| CudaDeviceVariable<cuFloatComplex> | x | right-hand-side array of dimensions (ldx, n). |
| System.Int32 | ldx | leading dimension of X (that is >= max(1;m)). |
| CudaDeviceVariable<cuFloatComplex> | y | solution array of dimensions (ldy, n). |
| System.Int32 | ldy | leading dimension of Y (that is >= max(1;m)). |
CsrsmSolve(cusparseOperation, Int32, Int32, Double, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, Int32)
Solution of triangular linear system op(A) * Y = alpha * X, with multiple right-hand-sides, where A is a sparse matrix in CSR storage format, X and Y are dense and usually tall matrices.
Declaration
public void CsrsmSolve(cusparseOperation transA, int m, int n, double alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<double> x, int ldx, CudaDeviceVariable<double> y, int ldy)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows and columns of matrix A. |
| System.Int32 | n | number of columns of matrix X and Y . |
| System.Double | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure with information collected during the analysis phase (that should have been passed to the solve phase unchanged). |
| CudaDeviceVariable<System.Double> | x | right-hand-side array of dimensions (ldx, n). |
| System.Int32 | ldx | leading dimension of X (that is >= max(1;m)). |
| CudaDeviceVariable<System.Double> | y | solution array of dimensions (ldy, n). |
| System.Int32 | ldy | leading dimension of Y (that is >= max(1;m)). |
CsrsmSolve(cusparseOperation, Int32, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, Int32)
Solution of triangular linear system op(A) * Y = alpha * X, with multiple right-hand-sides, where A is a sparse matrix in CSR storage format, X and Y are dense and usually tall matrices.
Declaration
public void CsrsmSolve(cusparseOperation transA, int m, int n, float alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<float> x, int ldx, CudaDeviceVariable<float> y, int ldy)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows and columns of matrix A. |
| System.Int32 | n | number of columns of matrix X and Y . |
| System.Single | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure with information collected during the analysis phase (that should have been passed to the solve phase unchanged). |
| CudaDeviceVariable<System.Single> | x | right-hand-side array of dimensions (ldx, n). |
| System.Int32 | ldx | leading dimension of X (that is >= max(1;m)). |
| CudaDeviceVariable<System.Single> | y | solution array of dimensions (ldy, n). |
| System.Int32 | ldy | leading dimension of Y (that is >= max(1;m)). |
Csrsort(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
This function sorts CSR format. The stable sorting is in-place.
The matrix type is regarded as CUSPARSE_MATRIX_TYPE_GENERAL implicitly. In other words, any symmetric property is ignored.
This function csrsort() requires buffer size returned by csrsort_bufferSizeExt().
The address of pBuffer must be multiple of 128 bytes. If not, CUSPARSE_STATUS_INVALID_VALUE is returned.
The parameter P is both input and output. If the user wants to compute sorted csrVal, P must be set as 0:1:(nnz-1) before csrsort(), and after csrsort(), new sorted value array satisfies csrVal_sorted = csrVal(P).
Declaration
public void Csrsort(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<int> P, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz unsorted column indices of A. |
| CudaDeviceVariable<System.Int32> | P | integer array of nnz sorted map indices. |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by CsrsortBufferSize(). |
CsrsortBufferSize(Int32, Int32, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function sorts CSR format. The stable sorting is in-place.
The matrix type is regarded as CUSPARSE_MATRIX_TYPE_GENERAL implicitly. In other words, any symmetric property is ignored.
This function csrsort() requires buffer size returned by csrsort_bufferSizeExt().
The address of pBuffer must be multiple of 128 bytes. If not, CUSPARSE_STATUS_INVALID_VALUE is returned.
The parameter P is both input and output. If the user wants to compute sorted csrVal, P must be set as 0:1:(nnz-1) before csrsort(), and after csrsort(), new sorted value array satisfies csrVal_sorted = csrVal(P).
Declaration
public SizeT CsrsortBufferSize(int m, int n, int nnz, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz unsorted column indices of A. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer. |
Csrsv2Analysis(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrsv2Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of csrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Csrsv2Analysis(cusparseOperation transA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrsv2Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrsv2Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
Csrsv2Analysis(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrsv2Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of csrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Csrsv2Analysis(cusparseOperation transA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrsv2Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrsv2Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
Csrsv2Analysis(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrsv2Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of csrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Csrsv2Analysis(cusparseOperation transA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrsv2Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrsv2Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
Csrsv2Analysis(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrsv2Info, cusparseSolvePolicy, CudaDeviceVariable<Byte>)
This function performs the analysis phase of csrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Csrsv2Analysis(cusparseOperation transA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrsv2Info info, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrsv2Info | info | record of internal states based on different algorithms. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
Csrsv2BufferSize(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrsv2Info)
This function returns the size of the buffer used in csrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public SizeT Csrsv2BufferSize(cusparseOperation transA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrsv2Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrsv2Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Csrsv2BufferSize(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrsv2Info)
This function returns the size of the buffer used in csrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public SizeT Csrsv2BufferSize(cusparseOperation transA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrsv2Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrsv2Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Csrsv2BufferSize(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrsv2Info)
This function returns the size of the buffer used in csrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public SizeT Csrsv2BufferSize(cusparseOperation transA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrsv2Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrsv2Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Csrsv2BufferSize(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrsv2Info)
This function returns the size of the buffer used in csrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public SizeT Csrsv2BufferSize(cusparseOperation transA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrsv2Info info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrsv2Info | info | record of internal states based on different algorithms. |
Returns
| Type | Description |
|---|---|
| SizeT |
Csrsv2Solve(cusparseOperation, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrsv2Info, CudaDeviceVariable<cuDoubleComplex>, cusparseSolvePolicy, CudaDeviceVariable<Byte>, CudaDeviceVariable<cuDoubleComplex>)
This function performs the solve phase of csrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Csrsv2Solve(cusparseOperation transA, int m, CudaDeviceVariable<cuDoubleComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrsv2Info info, CudaDeviceVariable<cuDoubleComplex> x, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer, CudaDeviceVariable<cuDoubleComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrsv2Info | info | record of internal states based on different algorithms. |
| CudaDeviceVariable<cuDoubleComplex> | x | right-hand-side vector of size m. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
| CudaDeviceVariable<cuDoubleComplex> | y | solution vector of size m. |
Csrsv2Solve(cusparseOperation, Int32, CudaDeviceVariable<cuFloatComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrsv2Info, CudaDeviceVariable<cuFloatComplex>, cusparseSolvePolicy, CudaDeviceVariable<Byte>, CudaDeviceVariable<cuFloatComplex>)
This function performs the solve phase of csrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Csrsv2Solve(cusparseOperation transA, int m, CudaDeviceVariable<cuFloatComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrsv2Info info, CudaDeviceVariable<cuFloatComplex> x, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer, CudaDeviceVariable<cuFloatComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrsv2Info | info | record of internal states based on different algorithms. |
| CudaDeviceVariable<cuFloatComplex> | x | right-hand-side vector of size m. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
| CudaDeviceVariable<cuFloatComplex> | y | solution vector of size m. |
Csrsv2Solve(cusparseOperation, Int32, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrsv2Info, CudaDeviceVariable<Double>, cusparseSolvePolicy, CudaDeviceVariable<Byte>, CudaDeviceVariable<Double>)
This function performs the solve phase of csrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Csrsv2Solve(cusparseOperation transA, int m, CudaDeviceVariable<double> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrsv2Info info, CudaDeviceVariable<double> x, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer, CudaDeviceVariable<double> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaDeviceVariable<System.Double> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrsv2Info | info | record of internal states based on different algorithms. |
| CudaDeviceVariable<System.Double> | x | right-hand-side vector of size m. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
| CudaDeviceVariable<System.Double> | y | solution vector of size m. |
Csrsv2Solve(cusparseOperation, Int32, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrsv2Info, CudaDeviceVariable<Single>, cusparseSolvePolicy, CudaDeviceVariable<Byte>, CudaDeviceVariable<Single>)
This function performs the solve phase of csrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Csrsv2Solve(cusparseOperation transA, int m, CudaDeviceVariable<float> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrsv2Info info, CudaDeviceVariable<float> x, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer, CudaDeviceVariable<float> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaDeviceVariable<System.Single> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrsv2Info | info | record of internal states based on different algorithms. |
| CudaDeviceVariable<System.Single> | x | right-hand-side vector of size m. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
| CudaDeviceVariable<System.Single> | y | solution vector of size m. |
Csrsv2Solve(cusparseOperation, Int32, ref cuDoubleComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrsv2Info, CudaDeviceVariable<cuDoubleComplex>, cusparseSolvePolicy, CudaDeviceVariable<Byte>, CudaDeviceVariable<cuDoubleComplex>)
This function performs the solve phase of csrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Csrsv2Solve(cusparseOperation transA, int m, ref cuDoubleComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrsv2Info info, CudaDeviceVariable<cuDoubleComplex> x, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer, CudaDeviceVariable<cuDoubleComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| cuDoubleComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrsv2Info | info | record of internal states based on different algorithms. |
| CudaDeviceVariable<cuDoubleComplex> | x | right-hand-side vector of size m. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
| CudaDeviceVariable<cuDoubleComplex> | y | solution vector of size m. |
Csrsv2Solve(cusparseOperation, Int32, ref cuFloatComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrsv2Info, CudaDeviceVariable<cuFloatComplex>, cusparseSolvePolicy, CudaDeviceVariable<Byte>, CudaDeviceVariable<cuFloatComplex>)
This function performs the solve phase of csrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Csrsv2Solve(cusparseOperation transA, int m, ref cuFloatComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrsv2Info info, CudaDeviceVariable<cuFloatComplex> x, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer, CudaDeviceVariable<cuFloatComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| cuFloatComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrsv2Info | info | record of internal states based on different algorithms. |
| CudaDeviceVariable<cuFloatComplex> | x | right-hand-side vector of size m. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
| CudaDeviceVariable<cuFloatComplex> | y | solution vector of size m. |
Csrsv2Solve(cusparseOperation, Int32, ref Double, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrsv2Info, CudaDeviceVariable<Double>, cusparseSolvePolicy, CudaDeviceVariable<Byte>, CudaDeviceVariable<Double>)
This function performs the solve phase of csrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Csrsv2Solve(cusparseOperation transA, int m, ref double alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrsv2Info info, CudaDeviceVariable<double> x, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer, CudaDeviceVariable<double> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Double | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrsv2Info | info | record of internal states based on different algorithms. |
| CudaDeviceVariable<System.Double> | x | right-hand-side vector of size m. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
| CudaDeviceVariable<System.Double> | y | solution vector of size m. |
Csrsv2Solve(cusparseOperation, Int32, ref Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsrsv2Info, CudaDeviceVariable<Single>, cusparseSolvePolicy, CudaDeviceVariable<Byte>, CudaDeviceVariable<Single>)
This function performs the solve phase of csrsv2, a new sparse triangular linear system op(A)*y = x.
Declaration
public void Csrsv2Solve(cusparseOperation transA, int m, ref float alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseCsrsv2Info info, CudaDeviceVariable<float> x, cusparseSolvePolicy policy, CudaDeviceVariable<byte> buffer, CudaDeviceVariable<float> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Single | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseCsrsv2Info | info | record of internal states based on different algorithms. |
| CudaDeviceVariable<System.Single> | x | right-hand-side vector of size m. |
| cusparseSolvePolicy | policy | The supported policies are CUSPARSE_SOLVE_POLICY_NO_LEVEL and CUSPARSE_SOLVE_POLICY_USE_LEVEL. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is returned by csrsv2_bufferSizeExt(). |
| CudaDeviceVariable<System.Single> | y | solution vector of size m. |
Csrsv2ZeroPivot(CudaSparseCsrsv2Info, CudaDeviceVariable<Int32>)
If the returned error code is CUSPARSE_STATUS_ZERO_PIVOT, position=j means A(j,j) has either a structural zero or a numerical zero. Otherwise position=-1.
The position can be 0-based or 1-based, the same as the matrix.
Function cusparseXcsrsv2_zeroPivot() is a blocking call. It calls cudaDeviceSynchronize() to make sure all previous kernels are done.
The position can be in the host memory or device memory. The user can set the proper mode with cusparseSetPointerMode().
Declaration
public bool Csrsv2ZeroPivot(CudaSparseCsrsv2Info info, CudaDeviceVariable<int> position)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseCsrsv2Info | info | info contains structural zero or numerical zero if the user already called csrsv2_analysis() or csrsv2_solve(). |
| CudaDeviceVariable<System.Int32> | position | if no structural or numerical zero, position is -1; otherwise, if A(j,j) is missing or U(j,j) is zero, position=j. |
Returns
| Type | Description |
|---|---|
| System.Boolean | If true, position=j means A(j,j) has either a structural zero or a numerical zero; otherwise, position=-1. |
Csrsv2ZeroPivot(CudaSparseCsrsv2Info, ref Int32)
If the returned error code is CUSPARSE_STATUS_ZERO_PIVOT, position=j means A(j,j) has either a structural zero or a numerical zero. Otherwise position=-1.
The position can be 0-based or 1-based, the same as the matrix.
Function cusparseXcsrsv2_zeroPivot() is a blocking call. It calls cudaDeviceSynchronize() to make sure all previous kernels are done.
The position can be in the host memory or device memory. The user can set the proper mode with cusparseSetPointerMode().
Declaration
public bool Csrsv2ZeroPivot(CudaSparseCsrsv2Info info, ref int position)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseCsrsv2Info | info | info contains structural zero or numerical zero if the user already called csrsv2_analysis() or csrsv2_solve(). |
| System.Int32 | position | if no structural or numerical zero, position is -1; otherwise, if A(j,j) is missing or U(j,j) is zero, position=j. |
Returns
| Type | Description |
|---|---|
| System.Boolean | If true, position=j means A(j,j) has either a structural zero or a numerical zero; otherwise, position=-1. |
CsrsvAnalysis(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo)
Solution of triangular linear system op(A) * y = alpha * x, where A is a sparse matrix in CSR storage format, x and y are dense vectors.
Declaration
public void CsrsvAnalysis(cusparseOperation transA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
CsrsvAnalysis(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo)
Solution of triangular linear system op(A) * y = alpha * x, where A is a sparse matrix in CSR storage format, x and y are dense vectors.
Declaration
public void CsrsvAnalysis(cusparseOperation transA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
CsrsvAnalysis(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo)
Solution of triangular linear system op(A) * y = alpha * x, where A is a sparse matrix in CSR storage format, x and y are dense vectors.
Declaration
public void CsrsvAnalysis(cusparseOperation transA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
CsrsvAnalysis(cusparseOperation, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo)
Solution of triangular linear system op(A) * y = alpha * x, where A is a sparse matrix in CSR storage format, x and y are dense vectors.
Declaration
public void CsrsvAnalysis(cusparseOperation transA, int m, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
CsrsvSolve(cusparseOperation, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>)
Solution of triangular linear system op(A) * y = alpha * x, where A is a sparse matrix in CSR storage format, x and y are dense vectors.
Declaration
public void CsrsvSolve(cusparseOperation transA, int m, CudaDeviceVariable<cuDoubleComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<cuDoubleComplex> x, CudaDeviceVariable<cuDoubleComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
| CudaDeviceVariable<cuDoubleComplex> | x | right-hand-side vector of size m. |
| CudaDeviceVariable<cuDoubleComplex> | y | solution vector of size m. |
CsrsvSolve(cusparseOperation, Int32, CudaDeviceVariable<cuFloatComplex>, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>)
Solution of triangular linear system op(A) * y = alpha * x, where A is a sparse matrix in CSR storage format, x and y are dense vectors.
Declaration
public void CsrsvSolve(cusparseOperation transA, int m, CudaDeviceVariable<cuFloatComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<cuFloatComplex> x, CudaDeviceVariable<cuFloatComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
| CudaDeviceVariable<cuFloatComplex> | x | right-hand-side vector of size m. |
| CudaDeviceVariable<cuFloatComplex> | y | solution vector of size m. |
CsrsvSolve(cusparseOperation, Int32, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>)
Solution of triangular linear system op(A) * y = alpha * x, where A is a sparse matrix in CSR storage format, x and y are dense vectors.
Declaration
public void CsrsvSolve(cusparseOperation transA, int m, CudaDeviceVariable<double> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<double> x, CudaDeviceVariable<double> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaDeviceVariable<System.Double> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
| CudaDeviceVariable<System.Double> | x | right-hand-side vector of size m. |
| CudaDeviceVariable<System.Double> | y | solution vector of size m. |
CsrsvSolve(cusparseOperation, Int32, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>)
Solution of triangular linear system op(A) * y = alpha * x, where A is a sparse matrix in CSR storage format, x and y are dense vectors.
Declaration
public void CsrsvSolve(cusparseOperation transA, int m, CudaDeviceVariable<float> alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<float> x, CudaDeviceVariable<float> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| CudaDeviceVariable<System.Single> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
| CudaDeviceVariable<System.Single> | x | right-hand-side vector of size m. |
| CudaDeviceVariable<System.Single> | y | solution vector of size m. |
CsrsvSolve(cusparseOperation, Int32, cuDoubleComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>)
Solution of triangular linear system op(A) * y = alpha * x, where A is a sparse matrix in CSR storage format, x and y are dense vectors.
Declaration
public void CsrsvSolve(cusparseOperation transA, int m, cuDoubleComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<cuDoubleComplex> x, CudaDeviceVariable<cuDoubleComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| cuDoubleComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
| CudaDeviceVariable<cuDoubleComplex> | x | right-hand-side vector of size m. |
| CudaDeviceVariable<cuDoubleComplex> | y | solution vector of size m. |
CsrsvSolve(cusparseOperation, Int32, cuFloatComplex, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>)
Solution of triangular linear system op(A) * y = alpha * x, where A is a sparse matrix in CSR storage format, x and y are dense vectors.
Declaration
public void CsrsvSolve(cusparseOperation transA, int m, cuFloatComplex alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<cuFloatComplex> x, CudaDeviceVariable<cuFloatComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| cuFloatComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
| CudaDeviceVariable<cuFloatComplex> | x | right-hand-side vector of size m. |
| CudaDeviceVariable<cuFloatComplex> | y | solution vector of size m. |
CsrsvSolve(cusparseOperation, Int32, Double, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>)
Solution of triangular linear system op(A) * y = alpha * x, where A is a sparse matrix in CSR storage format, x and y are dense vectors.
Declaration
public void CsrsvSolve(cusparseOperation transA, int m, double alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<double> x, CudaDeviceVariable<double> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Double | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
| CudaDeviceVariable<System.Double> | x | right-hand-side vector of size m. |
| CudaDeviceVariable<System.Double> | y | solution vector of size m. |
CsrsvSolve(cusparseOperation, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>)
Solution of triangular linear system op(A) * y = alpha * x, where A is a sparse matrix in CSR storage format, x and y are dense vectors.
Declaration
public void CsrsvSolve(cusparseOperation transA, int m, float alpha, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<float> x, CudaDeviceVariable<float> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Single | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal types CUSPARSE_DIAG_TYPE_UNIT and CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. Length of csrColIndA gives the number nzz passed to CUSPARSE. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
| CudaDeviceVariable<System.Single> | x | right-hand-side vector of size m. |
| CudaDeviceVariable<System.Single> | y | solution vector of size m. |
Csru2csr(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsru2csrInfo, CudaDeviceVariable<Byte>)
This function transfers unsorted CSR format to CSR format, and vice versa. The operation is in-place.
Declaration
public void Csru2csr(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, CudaSparseCsru2csrInfo info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL, Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | csrVal | array of nnz unsorted nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtr | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColInd | integer array of nnz unsorted column indices of A. |
| CudaSparseCsru2csrInfo | info | opaque structure initialized using cusparseCreateCsru2csrInfo(). |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by Csru2csrBufferSize(). |
Csru2csr(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsru2csrInfo, CudaDeviceVariable<Byte>)
This function transfers unsorted CSR format to CSR format, and vice versa. The operation is in-place.
Declaration
public void Csru2csr(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, CudaSparseCsru2csrInfo info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL, Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | csrVal | array of nnz unsorted nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtr | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColInd | integer array of nnz unsorted column indices of A. |
| CudaSparseCsru2csrInfo | info | opaque structure initialized using cusparseCreateCsru2csrInfo(). |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by Csru2csrBufferSize(). |
Csru2csr(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsru2csrInfo, CudaDeviceVariable<Byte>)
This function transfers unsorted CSR format to CSR format, and vice versa. The operation is in-place.
Declaration
public void Csru2csr(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, CudaSparseCsru2csrInfo info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL, Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | csrVal | array of nnz unsorted nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtr | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColInd | integer array of nnz unsorted column indices of A. |
| CudaSparseCsru2csrInfo | info | opaque structure initialized using cusparseCreateCsru2csrInfo(). |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by Csru2csrBufferSize(). |
Csru2csr(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsru2csrInfo, CudaDeviceVariable<Byte>)
This function transfers unsorted CSR format to CSR format, and vice versa. The operation is in-place.
Declaration
public void Csru2csr(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, CudaSparseCsru2csrInfo info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL, Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | csrVal | array of nnz unsorted nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtr | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColInd | integer array of nnz unsorted column indices of A. |
| CudaSparseCsru2csrInfo | info | opaque structure initialized using cusparseCreateCsru2csrInfo(). |
| CudaDeviceVariable<System.Byte> | pBuffer | buffer allocated by the user; the size is returned by Csru2csrBufferSize(). |
Csru2csrBufferSize(Int32, Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsru2csrInfo)
This function transfers unsorted CSR format to CSR format, and vice versa. The operation is in-place.
Declaration
public SizeT Csru2csrBufferSize(int m, int n, int nnz, CudaDeviceVariable<cuDoubleComplex> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, CudaSparseCsru2csrInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | csrVal | array of nnz unsorted nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtr | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColInd | integer array of nnz unsorted column indices of A. |
| CudaSparseCsru2csrInfo | info | opaque structure initialized using cusparseCreateCsru2csrInfo(). |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer. |
Csru2csrBufferSize(Int32, Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsru2csrInfo)
This function transfers unsorted CSR format to CSR format, and vice versa. The operation is in-place.
Declaration
public SizeT Csru2csrBufferSize(int m, int n, int nnz, CudaDeviceVariable<cuFloatComplex> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, CudaSparseCsru2csrInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | csrVal | array of nnz unsorted nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtr | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColInd | integer array of nnz unsorted column indices of A. |
| CudaSparseCsru2csrInfo | info | opaque structure initialized using cusparseCreateCsru2csrInfo(). |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer. |
Csru2csrBufferSize(Int32, Int32, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsru2csrInfo)
This function transfers unsorted CSR format to CSR format, and vice versa. The operation is in-place.
Declaration
public SizeT Csru2csrBufferSize(int m, int n, int nnz, CudaDeviceVariable<double> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, CudaSparseCsru2csrInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaDeviceVariable<System.Double> | csrVal | array of nnz unsorted nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtr | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColInd | integer array of nnz unsorted column indices of A. |
| CudaSparseCsru2csrInfo | info | opaque structure initialized using cusparseCreateCsru2csrInfo(). |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer. |
Csru2csrBufferSize(Int32, Int32, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparseCsru2csrInfo)
This function transfers unsorted CSR format to CSR format, and vice versa. The operation is in-place.
Declaration
public SizeT Csru2csrBufferSize(int m, int n, int nnz, CudaDeviceVariable<float> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, CudaSparseCsru2csrInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Int32 | nnz | number of nonzero elements of matrix A. |
| CudaDeviceVariable<System.Single> | csrVal | array of nnz unsorted nonzero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtr | integer array of m+1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColInd | integer array of nnz unsorted column indices of A. |
| CudaSparseCsru2csrInfo | info | opaque structure initialized using cusparseCreateCsru2csrInfo(). |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer. |
Dense2csc(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This routine converts a dense matrix to a sparse matrix in the CSC storage format, using the information computed by the nnz routine.
Declaration
public void Dense2csc(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> A, int lda, CudaDeviceVariable<int> nnzPerCol, CudaDeviceVariable<cuDoubleComplex> cscValA, CudaDeviceVariable<int> cscRowIndA, CudaDeviceVariable<int> cscColPtrA)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | A | array of dimensions (lda, n). |
| System.Int32 | lda | leading dimension of dense array A. |
| CudaDeviceVariable<System.Int32> | nnzPerCol | array of size n containing the number of non-zero elements per column. |
| CudaDeviceVariable<cuDoubleComplex> | cscValA | Output: array of nnz (= cscRowPtrA(m)-cscRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cscRowIndA | Output: integer array of nnz (= cscRowPtrA(m) - cscRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cscColPtrA | Output: integer array of n+1 elements that contains the start of every column and the end of the last column plus one. |
Dense2csc(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This routine converts a dense matrix to a sparse matrix in the CSC storage format, using the information computed by the nnz routine.
Declaration
public void Dense2csc(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> A, int lda, CudaDeviceVariable<int> nnzPerCol, CudaDeviceVariable<cuFloatComplex> cscValA, CudaDeviceVariable<int> cscRowIndA, CudaDeviceVariable<int> cscColPtrA)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | A | array of dimensions (lda, n). |
| System.Int32 | lda | leading dimension of dense array A. |
| CudaDeviceVariable<System.Int32> | nnzPerCol | array of size n containing the number of non-zero elements per column. |
| CudaDeviceVariable<cuFloatComplex> | cscValA | Output: array of nnz (= cscRowPtrA(m)-cscRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cscRowIndA | Output: integer array of nnz (= cscRowPtrA(m) - cscRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cscColPtrA | Output: integer array of n+1 elements that contains the start of every column and the end of the last column plus one. |
Dense2csc(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This routine converts a dense matrix to a sparse matrix in the CSC storage format, using the information computed by the nnz routine.
Declaration
public void Dense2csc(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> A, int lda, CudaDeviceVariable<int> nnzPerCol, CudaDeviceVariable<double> cscValA, CudaDeviceVariable<int> cscRowIndA, CudaDeviceVariable<int> cscColPtrA)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | A | array of dimensions (lda, n). |
| System.Int32 | lda | leading dimension of dense array A. |
| CudaDeviceVariable<System.Int32> | nnzPerCol | array of size n containing the number of non-zero elements per column. |
| CudaDeviceVariable<System.Double> | cscValA | Output: array of nnz (= cscRowPtrA(m)-cscRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cscRowIndA | Output: integer array of nnz (= cscRowPtrA(m) - cscRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cscColPtrA | Output: integer array of n+1 elements that contains the start of every column and the end of the last column plus one. |
Dense2csc(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This routine converts a dense matrix to a sparse matrix in the CSC storage format, using the information computed by the nnz routine.
Declaration
public void Dense2csc(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> A, int lda, CudaDeviceVariable<int> nnzPerCol, CudaDeviceVariable<float> cscValA, CudaDeviceVariable<int> cscRowIndA, CudaDeviceVariable<int> cscColPtrA)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | A | array of dimensions (lda, n). |
| System.Int32 | lda | leading dimension of dense array A. |
| CudaDeviceVariable<System.Int32> | nnzPerCol | array of size n containing the number of non-zero elements per column. |
| CudaDeviceVariable<System.Single> | cscValA | Output: array of nnz (= cscRowPtrA(m)-cscRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cscRowIndA | Output: integer array of nnz (= cscRowPtrA(m) - cscRowPtrA(0)) column indices of the non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | cscColPtrA | Output: integer array of n+1 elements that contains the start of every column and the end of the last column plus one. |
Dense2csr(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This routine converts a dense matrix to a sparse matrix in the CSR storage format, using the information computed by the nnz routine.
Declaration
public void Dense2csr(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> A, int lda, CudaDeviceVariable<int> nnzPerRow, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | A | array of dimensions (lda, n). |
| System.Int32 | lda | leading dimension of dense array A. |
| CudaDeviceVariable<System.Int32> | nnzPerRow | array of size m containing the number of non-zero elements per row. |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | Output: array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | Output: integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | Output: integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. |
Dense2csr(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This routine converts a dense matrix to a sparse matrix in the CSR storage format, using the information computed by the nnz routine.
Declaration
public void Dense2csr(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> A, int lda, CudaDeviceVariable<int> nnzPerRow, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | A | array of dimensions (lda, n). |
| System.Int32 | lda | leading dimension of dense array A. |
| CudaDeviceVariable<System.Int32> | nnzPerRow | array of size m containing the number of non-zero elements per row. |
| CudaDeviceVariable<cuFloatComplex> | csrValA | Output: array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | Output: integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | Output: integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. |
Dense2csr(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This routine converts a dense matrix to a sparse matrix in the CSR storage format, using the information computed by the nnz routine.
Declaration
public void Dense2csr(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> A, int lda, CudaDeviceVariable<int> nnzPerRow, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | A | array of dimensions (lda, n). |
| System.Int32 | lda | leading dimension of dense array A. |
| CudaDeviceVariable<System.Int32> | nnzPerRow | array of size m containing the number of non-zero elements per row. |
| CudaDeviceVariable<System.Double> | csrValA | Output: array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | Output: integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | Output: integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. |
Dense2csr(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This routine converts a dense matrix to a sparse matrix in the CSR storage format, using the information computed by the nnz routine.
Declaration
public void Dense2csr(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> A, int lda, CudaDeviceVariable<int> nnzPerRow, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | A | array of dimensions (lda, n). |
| System.Int32 | lda | leading dimension of dense array A. |
| CudaDeviceVariable<System.Int32> | nnzPerRow | array of size m containing the number of non-zero elements per row. |
| CudaDeviceVariable<System.Single> | csrValA | Output: array of nnz (= csrRowPtrA(m)-csrRowPtrA(0)) non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | Output: integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | Output: integer array of nnz (= csrRowPtrA(m) - csrRowPtrA(0)) column indices of the non-zero elements of matrix A. |
Dense2hyb(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<Int32>, CudaSparseHybMat, Int32, cusparseHybPartition)
This routine converts a dense matrix to a sparse matrix in HYB storage format.
Declaration
public void Dense2hyb(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> A, int lda, CudaDeviceVariable<int> nnzPerRow, CudaSparseHybMat hybA, int userEllWidth, cusparseHybPartition partitionType)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of the dense matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. |
| CudaDeviceVariable<cuDoubleComplex> | A | array of dimensions (lda, n). |
| System.Int32 | lda | leading dimension of dense array A. |
| CudaDeviceVariable<System.Int32> | nnzPerRow | array of size m containing the number of non-zero elements per row. |
| CudaSparseHybMat | hybA | Output: the matrix A in HYB storage format. |
| System.Int32 | userEllWidth | width of the regular (ELL) part of the matrix in HYB format, which should be less than maximum number of non-zeros per row and is only required if partitionType == CUSPARSE_HYB_PARTITION_USER. |
| cusparseHybPartition | partitionType | partitioning method to be used in the conversion (please refer to cusparseHybPartition_t on page 15 for details). |
Dense2hyb(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<Int32>, CudaSparseHybMat, Int32, cusparseHybPartition)
This routine converts a dense matrix to a sparse matrix in HYB storage format.
Declaration
public void Dense2hyb(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> A, int lda, CudaDeviceVariable<int> nnzPerRow, CudaSparseHybMat hybA, int userEllWidth, cusparseHybPartition partitionType)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of the dense matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. |
| CudaDeviceVariable<cuFloatComplex> | A | array of dimensions (lda, n). |
| System.Int32 | lda | leading dimension of dense array A. |
| CudaDeviceVariable<System.Int32> | nnzPerRow | array of size m containing the number of non-zero elements per row. |
| CudaSparseHybMat | hybA | Output: the matrix A in HYB storage format. |
| System.Int32 | userEllWidth | width of the regular (ELL) part of the matrix in HYB format, which should be less than maximum number of non-zeros per row and is only required if partitionType == CUSPARSE_HYB_PARTITION_USER. |
| cusparseHybPartition | partitionType | partitioning method to be used in the conversion (please refer to cusparseHybPartition_t on page 15 for details). |
Dense2hyb(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Int32>, CudaSparseHybMat, Int32, cusparseHybPartition)
This routine converts a dense matrix to a sparse matrix in HYB storage format.
Declaration
public void Dense2hyb(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> A, int lda, CudaDeviceVariable<int> nnzPerRow, CudaSparseHybMat hybA, int userEllWidth, cusparseHybPartition partitionType)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of the dense matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. |
| CudaDeviceVariable<System.Double> | A | array of dimensions (lda, n). |
| System.Int32 | lda | leading dimension of dense array A. |
| CudaDeviceVariable<System.Int32> | nnzPerRow | array of size m containing the number of non-zero elements per row. |
| CudaSparseHybMat | hybA | Output: the matrix A in HYB storage format. |
| System.Int32 | userEllWidth | width of the regular (ELL) part of the matrix in HYB format, which should be less than maximum number of non-zeros per row and is only required if partitionType == CUSPARSE_HYB_PARTITION_USER. |
| cusparseHybPartition | partitionType | partitioning method to be used in the conversion (please refer to cusparseHybPartition_t on page 15 for details). |
Dense2hyb(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Int32>, CudaSparseHybMat, Int32, cusparseHybPartition)
This routine converts a dense matrix to a sparse matrix in HYB storage format.
Declaration
public void Dense2hyb(int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> A, int lda, CudaDeviceVariable<int> nnzPerRow, CudaSparseHybMat hybA, int userEllWidth, cusparseHybPartition partitionType)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of the dense matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. |
| CudaDeviceVariable<System.Single> | A | array of dimensions (lda, n). |
| System.Int32 | lda | leading dimension of dense array A. |
| CudaDeviceVariable<System.Int32> | nnzPerRow | array of size m containing the number of non-zero elements per row. |
| CudaSparseHybMat | hybA | Output: the matrix A in HYB storage format. |
| System.Int32 | userEllWidth | width of the regular (ELL) part of the matrix in HYB format, which should be less than maximum number of non-zeros per row and is only required if partitionType == CUSPARSE_HYB_PARTITION_USER. |
| cusparseHybPartition | partitionType | partitioning method to be used in the conversion (please refer to cusparseHybPartition_t on page 15 for details). |
Dispose()
Dispose
Declaration
public void Dispose()
Dispose(Boolean)
For IDisposable
Declaration
protected virtual void Dispose(bool fDisposing)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | fDisposing |
Dotci(CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, cusparseIndexBase)
dot product of complex conjugate of a sparse vector x and a dense vector y.
Declaration
public void Dotci(CudaDeviceVariable<cuDoubleComplex> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<cuDoubleComplex> y, CudaDeviceVariable<cuDoubleComplex> result, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<cuDoubleComplex> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuDoubleComplex> | y | vector in dense format. |
| CudaDeviceVariable<cuDoubleComplex> | result | pointer to the location of the result in the device or host memory. |
| cusparseIndexBase | idxBase | Index base. |
Dotci(CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, ref cuDoubleComplex, cusparseIndexBase)
dot product of complex conjugate of a sparse vector x and a dense vector y.
Declaration
public void Dotci(CudaDeviceVariable<cuDoubleComplex> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<cuDoubleComplex> y, ref cuDoubleComplex result, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<cuDoubleComplex> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuDoubleComplex> | y | vector in dense format. |
| cuDoubleComplex | result | pointer to the location of the result in the device or host memory. |
| cusparseIndexBase | idxBase | Index base. |
Dotci(CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, cusparseIndexBase)
dot product of complex conjugate of a sparse vector x and a dense vector y.
Declaration
public void Dotci(CudaDeviceVariable<cuFloatComplex> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<cuFloatComplex> y, CudaDeviceVariable<cuFloatComplex> result, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<cuFloatComplex> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuFloatComplex> | y | vector in dense format. |
| CudaDeviceVariable<cuFloatComplex> | result | pointer to the location of the result in the device or host memory. |
| cusparseIndexBase | idxBase | Index base. |
Dotci(CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, ref cuFloatComplex, cusparseIndexBase)
dot product of complex conjugate of a sparse vector x and a dense vector y.
Declaration
public void Dotci(CudaDeviceVariable<cuFloatComplex> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<cuFloatComplex> y, ref cuFloatComplex result, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<cuFloatComplex> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuFloatComplex> | y | vector in dense format. |
| cuFloatComplex | result | pointer to the location of the result in the device or host memory. |
| cusparseIndexBase | idxBase | Index base. |
Doti(CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, cusparseIndexBase)
dot product of a sparse vector x and a dense vector y
Declaration
public void Doti(CudaDeviceVariable<cuDoubleComplex> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<cuDoubleComplex> y, CudaDeviceVariable<cuDoubleComplex> result, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<cuDoubleComplex> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuDoubleComplex> | y | vector in dense format. |
| CudaDeviceVariable<cuDoubleComplex> | result | pointer to the location of the result in the device or host memory. |
| cusparseIndexBase | idxBase | Index base. |
Doti(CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, ref cuDoubleComplex, cusparseIndexBase)
dot product of a sparse vector x and a dense vector y
Declaration
public void Doti(CudaDeviceVariable<cuDoubleComplex> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<cuDoubleComplex> y, ref cuDoubleComplex result, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<cuDoubleComplex> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuDoubleComplex> | y | vector in dense format. |
| cuDoubleComplex | result | pointer to the location of the result in the device or host memory. |
| cusparseIndexBase | idxBase | Index base. |
Doti(CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, cusparseIndexBase)
dot product of a sparse vector x and a dense vector y
Declaration
public void Doti(CudaDeviceVariable<cuFloatComplex> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<cuFloatComplex> y, CudaDeviceVariable<cuFloatComplex> result, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<cuFloatComplex> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuFloatComplex> | y | vector in dense format. |
| CudaDeviceVariable<cuFloatComplex> | result | pointer to the location of the result in the device or host memory. |
| cusparseIndexBase | idxBase | Index base. |
Doti(CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, ref cuFloatComplex, cusparseIndexBase)
dot product of a sparse vector x and a dense vector y
Declaration
public void Doti(CudaDeviceVariable<cuFloatComplex> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<cuFloatComplex> y, ref cuFloatComplex result, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<cuFloatComplex> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuFloatComplex> | y | vector in dense format. |
| cuFloatComplex | result | pointer to the location of the result in the device or host memory. |
| cusparseIndexBase | idxBase | Index base. |
Doti(CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, cusparseIndexBase)
dot product of a sparse vector x and a dense vector y
Declaration
public void Doti(CudaDeviceVariable<double> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<double> y, CudaDeviceVariable<double> result, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<System.Double> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Double> | y | vector in dense format. |
| CudaDeviceVariable<System.Double> | result | pointer to the location of the result in the device or host memory. |
| cusparseIndexBase | idxBase | Index base. |
Doti(CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, ref Double, cusparseIndexBase)
dot product of a sparse vector x and a dense vector y
Declaration
public void Doti(CudaDeviceVariable<double> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<double> y, ref double result, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<System.Double> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Double> | y | vector in dense format. |
| System.Double | result | pointer to the location of the result in the device or host memory. |
| cusparseIndexBase | idxBase | Index base. |
Doti(CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, cusparseIndexBase)
dot product of a sparse vector x and a dense vector y
Declaration
public void Doti(CudaDeviceVariable<float> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<float> y, CudaDeviceVariable<float> result, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<System.Single> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Single> | y | vector in dense format. |
| CudaDeviceVariable<System.Single> | result | pointer to the location of the result in the device or host memory. |
| cusparseIndexBase | idxBase | Index base. |
Doti(CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, ref Single, cusparseIndexBase)
dot product of a sparse vector x and a dense vector y
Declaration
public void Doti(CudaDeviceVariable<float> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<float> y, ref float result, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<System.Single> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Single> | y | vector in dense format. |
| System.Single | result | pointer to the location of the result in the device or host memory. |
| cusparseIndexBase | idxBase | Index base. |
Finalize()
For dispose
Declaration
protected void Finalize()
Gebsr2csr(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function converts a sparse matrix in general BSR format (that is defined by the three arrays bsrValA, bsrRowPtrA, and bsrColIndA) into a sparse matrix in CSR format (that is defined by arrays csrValC, csrRowPtrC, and csrColIndC).
Let m(=mbrowBlockDim) be number of rows of A and n(=nbcolBlockDim) be number of columns of A, then A and C are mn sparse matrices. General BSR format of A contains nnzb(=bsrRowPtrA[mb] - bsrRowPtrA[0]) non-zero blocks whereas sparse matrix A contains nnz(=nnzbrowBlockDim*colBockDim) elements. The user must allocate enough space for arrays csrRowPtrC, csrColIndC and csrValC. The requirements are
csrRowPtrC of m+1 elements,
csrValC of nnz elements, and
csrColIndC of nnz elements.
Declaration
public void Gebsr2csr(cusparseDirection dirA, int mb, int nb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int rowBlockDim, int colBlockDim, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<cuDoubleComplex> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | bsrValA | array of nnzbrowBlockDimcolBlockDim non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDim | number of rows within a block of A. |
| System.Int32 | colBlockDim | number of columns within a block of A. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | csrValC | array of nnz non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m+1 elements that contains the start of every row and the end of the last row plus one of matrix C. |
| CudaDeviceVariable<System.Int32> | csrColIndC | integer array of nnz column indices of the nonzero elements of matrix C. |
Gebsr2csr(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function converts a sparse matrix in general BSR format (that is defined by the three arrays bsrValA, bsrRowPtrA, and bsrColIndA) into a sparse matrix in CSR format (that is defined by arrays csrValC, csrRowPtrC, and csrColIndC).
Let m(=mbrowBlockDim) be number of rows of A and n(=nbcolBlockDim) be number of columns of A, then A and C are mn sparse matrices. General BSR format of A contains nnzb(=bsrRowPtrA[mb] - bsrRowPtrA[0]) non-zero blocks whereas sparse matrix A contains nnz(=nnzbrowBlockDim*colBockDim) elements. The user must allocate enough space for arrays csrRowPtrC, csrColIndC and csrValC. The requirements are
csrRowPtrC of m+1 elements,
csrValC of nnz elements, and
csrColIndC of nnz elements.
Declaration
public void Gebsr2csr(cusparseDirection dirA, int mb, int nb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int rowBlockDim, int colBlockDim, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<cuFloatComplex> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | bsrValA | array of nnzbrowBlockDimcolBlockDim non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDim | number of rows within a block of A. |
| System.Int32 | colBlockDim | number of columns within a block of A. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | csrValC | array of nnz non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m+1 elements that contains the start of every row and the end of the last row plus one of matrix C. |
| CudaDeviceVariable<System.Int32> | csrColIndC | integer array of nnz column indices of the nonzero elements of matrix C. |
Gebsr2csr(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function converts a sparse matrix in general BSR format (that is defined by the three arrays bsrValA, bsrRowPtrA, and bsrColIndA) into a sparse matrix in CSR format (that is defined by arrays csrValC, csrRowPtrC, and csrColIndC).
Let m(=mbrowBlockDim) be number of rows of A and n(=nbcolBlockDim) be number of columns of A, then A and C are mn sparse matrices. General BSR format of A contains nnzb(=bsrRowPtrA[mb] - bsrRowPtrA[0]) non-zero blocks whereas sparse matrix A contains nnz(=nnzbrowBlockDim*colBockDim) elements. The user must allocate enough space for arrays csrRowPtrC, csrColIndC and csrValC. The requirements are
csrRowPtrC of m+1 elements,
csrValC of nnz elements, and
csrColIndC of nnz elements.
Declaration
public void Gebsr2csr(cusparseDirection dirA, int mb, int nb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int rowBlockDim, int colBlockDim, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | bsrValA | array of nnzbrowBlockDimcolBlockDim non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDim | number of rows within a block of A. |
| System.Int32 | colBlockDim | number of columns within a block of A. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | csrValC | array of nnz non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m+1 elements that contains the start of every row and the end of the last row plus one of matrix C. |
| CudaDeviceVariable<System.Int32> | csrColIndC | integer array of nnz column indices of the nonzero elements of matrix C. |
Gebsr2csr(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function converts a sparse matrix in general BSR format (that is defined by the three arrays bsrValA, bsrRowPtrA, and bsrColIndA) into a sparse matrix in CSR format (that is defined by arrays csrValC, csrRowPtrC, and csrColIndC).
Let m(=mbrowBlockDim) be number of rows of A and n(=nbcolBlockDim) be number of columns of A, then A and C are mn sparse matrices. General BSR format of A contains nnzb(=bsrRowPtrA[mb] - bsrRowPtrA[0]) non-zero blocks whereas sparse matrix A contains nnz(=nnzbrowBlockDim*colBockDim) elements. The user must allocate enough space for arrays csrRowPtrC, csrColIndC and csrValC. The requirements are
csrRowPtrC of m+1 elements,
csrValC of nnz elements, and
csrColIndC of nnz elements.
Declaration
public void Gebsr2csr(cusparseDirection dirA, int mb, int nb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int rowBlockDim, int colBlockDim, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDim | number of rows within a block of A. |
| System.Int32 | colBlockDim | number of columns within a block of A. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m+1 elements that contains the start of every row and the end of the last row plus one of matrix C. |
| CudaDeviceVariable<System.Int32> | csrColIndC | integer array of nnz column indices of the nonzero elements of matrix C. |
Gebsr2csr(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function converts a sparse matrix in general BSR format (that is defined by the three arrays bsrValA, bsrRowPtrA, and bsrColIndA) into a sparse matrix in CSR format (that is defined by arrays csrValC, csrRowPtrC, and csrColIndC).
Let m(=mbrowBlockDim) be number of rows of A and n(=nbcolBlockDim) be number of columns of A, then A and C are mn sparse matrices. General BSR format of A contains nnzb(=bsrRowPtrA[mb] - bsrRowPtrA[0]) non-zero blocks whereas sparse matrix A contains nnz(=nnzbrowBlockDim*colBockDim) elements. The user must allocate enough space for arrays csrRowPtrC, csrColIndC and csrValC. The requirements are
csrRowPtrC of m+1 elements,
csrValC of nnz elements, and
csrColIndC of nnz elements.
Declaration
public void Gebsr2csr(cusparseDirection dirA, int mb, int nb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int rowBlockDim, int colBlockDim, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | bsrValA | array of nnzbrowBlockDimcolBlockDim non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDim | number of rows within a block of A. |
| System.Int32 | colBlockDim | number of columns within a block of A. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | csrValC | array of nnz non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | integer array of m+1 elements that contains the start of every row and the end of the last row plus one of matrix C. |
| CudaDeviceVariable<System.Int32> | csrColIndC | integer array of nnz column indices of the nonzero elements of matrix C. |
Gebsr2gebsc(Int32, Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cusparseAction, cusparseIndexBase, CudaDeviceVariable<Byte>)
This function can be seen as the same as csr2csc when regarding each block of size rowBlockDim*colBlockDim as a scalar.
This sparsity pattern of result matrix can also be seen as the transpose of the original sparse matrix but memory layout of a block does not change.
The user must know the size of buffer required by gebsr2gebsc by calling gebsr2gebsc_bufferSizeExt, allocate the buffer and pass the buffer pointer to gebsr2gebsc.
Declaration
public void Gebsr2gebsc(int mb, int nb, int nnzb, CudaDeviceVariable<cuDoubleComplex> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int rowBlockDim, int colBlockDim, CudaDeviceVariable<cuDoubleComplex> bscVal, CudaDeviceVariable<int> bscRowInd, CudaDeviceVariable<int> bscColPtr, cusparseAction copyValues, cusparseIndexBase baseIdx, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| System.Int32 | nnzb | number of nonzero blocks of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | bsrVal | array of nnzbrowBlockDimcolBlockDim non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDim | number of rows within a block of A. |
| System.Int32 | colBlockDim | number of columns within a block of A. |
| CudaDeviceVariable<cuDoubleComplex> | bscVal | array of nnzbrowBlockDimcolBlockDim non-zero elements of matrix A. It is only filled-in if copyValues is set to CUSPARSE_ACTION_NUMERIC. |
| CudaDeviceVariable<System.Int32> | bscRowInd | integer array of nnzb row indices of the non-zero blocks of matrix A |
| CudaDeviceVariable<System.Int32> | bscColPtr | integer array of nb+1 elements that contains the start of every block column and the end of the last block column plus one. |
| cusparseAction | copyValues | CUSPARSE_ACTION_SYMBOLIC or CUSPARSE_ACTION_NUMERIC. |
| cusparseIndexBase | baseIdx | CUSPARSE_INDEX_BASE_ZERO or CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is return by gebsr2gebsc_bufferSizeExt. |
Gebsr2gebsc(Int32, Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cusparseAction, cusparseIndexBase, CudaDeviceVariable<Byte>)
This function can be seen as the same as csr2csc when regarding each block of size rowBlockDim*colBlockDim as a scalar.
This sparsity pattern of result matrix can also be seen as the transpose of the original sparse matrix but memory layout of a block does not change.
The user must know the size of buffer required by gebsr2gebsc by calling gebsr2gebsc_bufferSizeExt, allocate the buffer and pass the buffer pointer to gebsr2gebsc.
Declaration
public void Gebsr2gebsc(int mb, int nb, int nnzb, CudaDeviceVariable<cuFloatComplex> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int rowBlockDim, int colBlockDim, CudaDeviceVariable<cuFloatComplex> bscVal, CudaDeviceVariable<int> bscRowInd, CudaDeviceVariable<int> bscColPtr, cusparseAction copyValues, cusparseIndexBase baseIdx, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| System.Int32 | nnzb | number of nonzero blocks of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | bsrVal | array of nnzbrowBlockDimcolBlockDim non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDim | number of rows within a block of A. |
| System.Int32 | colBlockDim | number of columns within a block of A. |
| CudaDeviceVariable<cuFloatComplex> | bscVal | array of nnzbrowBlockDimcolBlockDim non-zero elements of matrix A. It is only filled-in if copyValues is set to CUSPARSE_ACTION_NUMERIC. |
| CudaDeviceVariable<System.Int32> | bscRowInd | integer array of nnzb row indices of the non-zero blocks of matrix A |
| CudaDeviceVariable<System.Int32> | bscColPtr | integer array of nb+1 elements that contains the start of every block column and the end of the last block column plus one. |
| cusparseAction | copyValues | CUSPARSE_ACTION_SYMBOLIC or CUSPARSE_ACTION_NUMERIC. |
| cusparseIndexBase | baseIdx | CUSPARSE_INDEX_BASE_ZERO or CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is return by gebsr2gebsc_bufferSizeExt. |
Gebsr2gebsc(Int32, Int32, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cusparseAction, cusparseIndexBase, CudaDeviceVariable<Byte>)
This function can be seen as the same as csr2csc when regarding each block of size rowBlockDim*colBlockDim as a scalar.
This sparsity pattern of result matrix can also be seen as the transpose of the original sparse matrix but memory layout of a block does not change.
The user must know the size of buffer required by gebsr2gebsc by calling gebsr2gebsc_bufferSizeExt, allocate the buffer and pass the buffer pointer to gebsr2gebsc.
Declaration
public void Gebsr2gebsc(int mb, int nb, int nnzb, CudaDeviceVariable<double> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int rowBlockDim, int colBlockDim, CudaDeviceVariable<double> bscVal, CudaDeviceVariable<int> bscRowInd, CudaDeviceVariable<int> bscColPtr, cusparseAction copyValues, cusparseIndexBase baseIdx, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| System.Int32 | nnzb | number of nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Double> | bsrVal | array of nnzbrowBlockDimcolBlockDim non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDim | number of rows within a block of A. |
| System.Int32 | colBlockDim | number of columns within a block of A. |
| CudaDeviceVariable<System.Double> | bscVal | array of nnzbrowBlockDimcolBlockDim non-zero elements of matrix A. It is only filled-in if copyValues is set to CUSPARSE_ACTION_NUMERIC. |
| CudaDeviceVariable<System.Int32> | bscRowInd | integer array of nnzb row indices of the non-zero blocks of matrix A |
| CudaDeviceVariable<System.Int32> | bscColPtr | integer array of nb+1 elements that contains the start of every block column and the end of the last block column plus one. |
| cusparseAction | copyValues | CUSPARSE_ACTION_SYMBOLIC or CUSPARSE_ACTION_NUMERIC. |
| cusparseIndexBase | baseIdx | CUSPARSE_INDEX_BASE_ZERO or CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is return by gebsr2gebsc_bufferSizeExt. |
Gebsr2gebsc(Int32, Int32, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cusparseAction, cusparseIndexBase, CudaDeviceVariable<Byte>)
This function can be seen as the same as csr2csc when regarding each block of size rowBlockDim*colBlockDim as a scalar.
This sparsity pattern of result matrix can also be seen as the transpose of the original sparse matrix but memory layout of a block does not change.
The user must know the size of buffer required by gebsr2gebsc by calling gebsr2gebsc_bufferSizeExt, allocate the buffer and pass the buffer pointer to gebsr2gebsc.
Declaration
public void Gebsr2gebsc(int mb, int nb, int nnzb, CudaDeviceVariable<float> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int rowBlockDim, int colBlockDim, CudaDeviceVariable<float> bscVal, CudaDeviceVariable<int> bscRowInd, CudaDeviceVariable<int> bscColPtr, cusparseAction copyValues, cusparseIndexBase baseIdx, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| System.Int32 | nnzb | number of nonzero blocks of matrix A. |
| CudaDeviceVariable<System.Single> | bsrVal | array of nnzbrowBlockDimcolBlockDim non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDim | number of rows within a block of A. |
| System.Int32 | colBlockDim | number of columns within a block of A. |
| CudaDeviceVariable<System.Single> | bscVal | array of nnzbrowBlockDimcolBlockDim non-zero elements of matrix A. It is only filled-in if copyValues is set to CUSPARSE_ACTION_NUMERIC. |
| CudaDeviceVariable<System.Int32> | bscRowInd | integer array of nnzb row indices of the non-zero blocks of matrix A |
| CudaDeviceVariable<System.Int32> | bscColPtr | integer array of nb+1 elements that contains the start of every block column and the end of the last block column plus one. |
| cusparseAction | copyValues | CUSPARSE_ACTION_SYMBOLIC or CUSPARSE_ACTION_NUMERIC. |
| cusparseIndexBase | baseIdx | CUSPARSE_INDEX_BASE_ZERO or CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is return by gebsr2gebsc_bufferSizeExt. |
Gebsr2gebscBufferSize(Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32)
This function returns size of buffer used in computing gebsr2gebsc.
Declaration
public SizeT Gebsr2gebscBufferSize(int mb, int nb, CudaDeviceVariable<cuDoubleComplex> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int rowBlockDim, int colBlockDim)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | bsrVal | array of nnzbrowBlockDimcolBlockDim non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDim | number of rows within a block of A. |
| System.Int32 | colBlockDim | number of columns within a block of A. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in the gebsr2gebsc. |
Gebsr2gebscBufferSize(Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32)
This function returns size of buffer used in computing gebsr2gebsc.
Declaration
public SizeT Gebsr2gebscBufferSize(int mb, int nb, CudaDeviceVariable<cuFloatComplex> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int rowBlockDim, int colBlockDim)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| CudaDeviceVariable<cuFloatComplex> | bsrVal | array of nnzbrowBlockDimcolBlockDim non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDim | number of rows within a block of A. |
| System.Int32 | colBlockDim | number of columns within a block of A. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in the gebsr2gebsc. |
Gebsr2gebscBufferSize(Int32, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32)
This function returns size of buffer used in computing gebsr2gebsc.
Declaration
public SizeT Gebsr2gebscBufferSize(int mb, int nb, CudaDeviceVariable<double> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int rowBlockDim, int colBlockDim)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| CudaDeviceVariable<System.Double> | bsrVal | array of nnzbrowBlockDimcolBlockDim non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDim | number of rows within a block of A. |
| System.Int32 | colBlockDim | number of columns within a block of A. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in the gebsr2gebsc. |
Gebsr2gebscBufferSize(Int32, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32)
This function returns size of buffer used in computing gebsr2gebsc.
Declaration
public SizeT Gebsr2gebscBufferSize(int mb, int nb, CudaDeviceVariable<float> bsrVal, CudaDeviceVariable<int> bsrRowPtr, CudaDeviceVariable<int> bsrColInd, int rowBlockDim, int colBlockDim)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| CudaDeviceVariable<System.Single> | bsrVal | array of nnzbrowBlockDimcolBlockDim non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtr | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one. |
| CudaDeviceVariable<System.Int32> | bsrColInd | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDim | number of rows within a block of A. |
| System.Int32 | colBlockDim | number of columns within a block of A. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in the gebsr2gebsc. |
Gebsr2gebsr(cusparseDirection, Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaDeviceVariable<Byte>)
This function converts a sparse matrix in general BSR format (that is defined by the three arrays bsrValA, bsrRowPtrA, and bsrColIndA) into a sparse matrix in another general BSR format (that is defined by arrays bsrValC, bsrRowPtrC, and bsrColIndC).
Declaration
public void Gebsr2gebsr(cusparseDirection dirA, int mb, int nb, int nnzb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int rowBlockDimA, int colBlockDimA, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<cuDoubleComplex> bsrValC, CudaDeviceVariable<int> bsrRowPtrC, CudaDeviceVariable<int> bsrColIndC, int rowBlockDimC, int colBlockDimC, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| System.Int32 | nnzb | number of nonzero blocks of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | bsrValA | array of nnzbrowBlockDimAcolBlockDimA non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDimA | number of rows within a block of A. |
| System.Int32 | colBlockDimA | number of columns within a block of A. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | bsrValC | array of nnzcrowBlockDimCcolBlockDimC non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrC | integer array of mc+1 elements that contains the start of every block row and the end of the last block row plus one of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrColIndC | integer array of nnzc block column indices of the non-zero blocks of matrix C. |
| System.Int32 | rowBlockDimC | number of rows within a block of C |
| System.Int32 | colBlockDimC | number of columns within a block of C |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is return by gebsr2gebsr_bufferSizeExt. |
Gebsr2gebsr(cusparseDirection, Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaDeviceVariable<Byte>)
This function converts a sparse matrix in general BSR format (that is defined by the three arrays bsrValA, bsrRowPtrA, and bsrColIndA) into a sparse matrix in another general BSR format (that is defined by arrays bsrValC, bsrRowPtrC, and bsrColIndC).
Declaration
public void Gebsr2gebsr(cusparseDirection dirA, int mb, int nb, int nnzb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int rowBlockDimA, int colBlockDimA, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<cuFloatComplex> bsrValC, CudaDeviceVariable<int> bsrRowPtrC, CudaDeviceVariable<int> bsrColIndC, int rowBlockDimC, int colBlockDimC, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| System.Int32 | nnzb | number of nonzero blocks of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | bsrValA | array of nnzbrowBlockDimAcolBlockDimA non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDimA | number of rows within a block of A. |
| System.Int32 | colBlockDimA | number of columns within a block of A. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | bsrValC | array of nnzcrowBlockDimCcolBlockDimC non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrC | integer array of mc+1 elements that contains the start of every block row and the end of the last block row plus one of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrColIndC | integer array of nnzc block column indices of the non-zero blocks of matrix C. |
| System.Int32 | rowBlockDimC | number of rows within a block of C |
| System.Int32 | colBlockDimC | number of columns within a block of C |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is return by gebsr2gebsr_bufferSizeExt. |
Gebsr2gebsr(cusparseDirection, Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaDeviceVariable<Byte>)
This function converts a sparse matrix in general BSR format (that is defined by the three arrays bsrValA, bsrRowPtrA, and bsrColIndA) into a sparse matrix in another general BSR format (that is defined by arrays bsrValC, bsrRowPtrC, and bsrColIndC).
Declaration
public void Gebsr2gebsr(cusparseDirection dirA, int mb, int nb, int nnzb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int rowBlockDimA, int colBlockDimA, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> bsrValC, CudaDeviceVariable<int> bsrRowPtrC, CudaDeviceVariable<int> bsrColIndC, int rowBlockDimC, int colBlockDimC, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| System.Int32 | nnzb | number of nonzero blocks of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | bsrValA | array of nnzbrowBlockDimAcolBlockDimA non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDimA | number of rows within a block of A. |
| System.Int32 | colBlockDimA | number of columns within a block of A. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | bsrValC | array of nnzcrowBlockDimCcolBlockDimC non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrC | integer array of mc+1 elements that contains the start of every block row and the end of the last block row plus one of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrColIndC | integer array of nnzc block column indices of the non-zero blocks of matrix C. |
| System.Int32 | rowBlockDimC | number of rows within a block of C |
| System.Int32 | colBlockDimC | number of columns within a block of C |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is return by gebsr2gebsr_bufferSizeExt. |
Gebsr2gebsr(cusparseDirection, Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaDeviceVariable<Byte>)
This function converts a sparse matrix in general BSR format (that is defined by the three arrays bsrValA, bsrRowPtrA, and bsrColIndA) into a sparse matrix in another general BSR format (that is defined by arrays bsrValC, bsrRowPtrC, and bsrColIndC).
Declaration
public void Gebsr2gebsr(cusparseDirection dirA, int mb, int nb, int nnzb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int rowBlockDimA, int colBlockDimA, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> bsrValC, CudaDeviceVariable<int> bsrRowPtrC, CudaDeviceVariable<int> bsrColIndC, int rowBlockDimC, int colBlockDimC, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| System.Int32 | nnzb | number of nonzero blocks of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | bsrValA | array of nnzbrowBlockDimAcolBlockDimA non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDimA | number of rows within a block of A. |
| System.Int32 | colBlockDimA | number of columns within a block of A. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | bsrValC | array of nnzcrowBlockDimCcolBlockDimC non-zero elements of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrC | integer array of mc+1 elements that contains the start of every block row and the end of the last block row plus one of matrix C. |
| CudaDeviceVariable<System.Int32> | bsrColIndC | integer array of nnzc block column indices of the non-zero blocks of matrix C. |
| System.Int32 | rowBlockDimC | number of rows within a block of C |
| System.Int32 | colBlockDimC | number of columns within a block of C |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is return by gebsr2gebsr_bufferSizeExt. |
Gebsr2gebsrBufferSize(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, Int32, Int32)
This function returns size of buffer used in computing gebsr2gebsrNnz and gebsr2gebsr.
Declaration
public SizeT Gebsr2gebsrBufferSize(cusparseDirection dirA, int mb, int nb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int rowBlockDimA, int colBlockDimA, int rowBlockDimC, int colBlockDimC)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | bsrValA | array of nnzbrowBlockDimAcolBlockDimA non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDimA | number of rows within a block of A. |
| System.Int32 | colBlockDimA | number of columns within a block of A. |
| System.Int32 | rowBlockDimC | number of rows within a block of C. |
| System.Int32 | colBlockDimC | number of columns within a block of C. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in csr2gebsrNnz() and csr2gebsr(). |
Gebsr2gebsrBufferSize(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, Int32, Int32)
This function returns size of buffer used in computing gebsr2gebsrNnz and gebsr2gebsr.
Declaration
public SizeT Gebsr2gebsrBufferSize(cusparseDirection dirA, int mb, int nb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int rowBlockDimA, int colBlockDimA, int rowBlockDimC, int colBlockDimC)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | bsrValA | array of nnzbrowBlockDimAcolBlockDimA non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDimA | number of rows within a block of A. |
| System.Int32 | colBlockDimA | number of columns within a block of A. |
| System.Int32 | rowBlockDimC | number of rows within a block of C. |
| System.Int32 | colBlockDimC | number of columns within a block of C. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in csr2gebsrNnz() and csr2gebsr(). |
Gebsr2gebsrBufferSize(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, Int32, Int32)
This function returns size of buffer used in computing gebsr2gebsrNnz and gebsr2gebsr.
Declaration
public SizeT Gebsr2gebsrBufferSize(cusparseDirection dirA, int mb, int nb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int rowBlockDimA, int colBlockDimA, int rowBlockDimC, int colBlockDimC)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | bsrValA | array of nnzbrowBlockDimAcolBlockDimA non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDimA | number of rows within a block of A. |
| System.Int32 | colBlockDimA | number of columns within a block of A. |
| System.Int32 | rowBlockDimC | number of rows within a block of C. |
| System.Int32 | colBlockDimC | number of columns within a block of C. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in csr2gebsrNnz() and csr2gebsr(). |
Gebsr2gebsrBufferSize(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, Int32, Int32)
This function returns size of buffer used in computing gebsr2gebsrNnz and gebsr2gebsr.
Declaration
public SizeT Gebsr2gebsrBufferSize(cusparseDirection dirA, int mb, int nb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> bsrValA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int rowBlockDimA, int colBlockDimA, int rowBlockDimC, int colBlockDimC)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | bsrValA | array of nnzbrowBlockDimAcolBlockDimA non-zero elements of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDimA | number of rows within a block of A. |
| System.Int32 | colBlockDimA | number of columns within a block of A. |
| System.Int32 | rowBlockDimC | number of rows within a block of C. |
| System.Int32 | colBlockDimC | number of columns within a block of C. |
Returns
| Type | Description |
|---|---|
| SizeT | number of bytes of the buffer used in csr2gebsrNnz() and csr2gebsr(). |
Gebsr2gebsrNnz(cusparseDirection, Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, Int32, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
This function converts a sparse matrix in general BSR format (that is defined by the three arrays bsrValA, bsrRowPtrA, and bsrColIndA) into a sparse matrix in another general BSR format (that is defined by arrays bsrValC, bsrRowPtrC, and bsrColIndC).
Declaration
public void Gebsr2gebsrNnz(cusparseDirection dirA, int mb, int nb, int nnzb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int rowBlockDimA, int colBlockDimA, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> bsrRowPtrC, int rowBlockDimC, int colBlockDimC, CudaDeviceVariable<int> nnzTotalDevHostPtr, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| System.Int32 | nnzb | number of nonzero blocks of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDimA | number of rows within a block of A. |
| System.Int32 | colBlockDimA | number of columns within a block of A. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrC | integer array of mc+1 elements that contains the start of every block row and the end of the last block row plus one of matrix C. |
| System.Int32 | rowBlockDimC | number of rows within a block of C |
| System.Int32 | colBlockDimC | number of columns within a block of C |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr | total number of nonzero blocks of C. nnzTotalDevHostPtr is the same as bsrRowPtrC[mc]-bsrRowPtrC[0] |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is return by gebsr2gebsr_bufferSizeExt. |
Gebsr2gebsrNnz(cusparseDirection, Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, Int32, Int32, ref Int32, CudaDeviceVariable<Byte>)
This function converts a sparse matrix in general BSR format (that is defined by the three arrays bsrValA, bsrRowPtrA, and bsrColIndA) into a sparse matrix in another general BSR format (that is defined by arrays bsrValC, bsrRowPtrC, and bsrColIndC).
Declaration
public void Gebsr2gebsrNnz(cusparseDirection dirA, int mb, int nb, int nnzb, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<int> bsrRowPtrA, CudaDeviceVariable<int> bsrColIndA, int rowBlockDimA, int colBlockDimA, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> bsrRowPtrC, int rowBlockDimC, int colBlockDimC, ref int nnzTotalDevHostPtr, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | storage format of blocks, either CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | mb | number of block rows of sparse matrix A. |
| System.Int32 | nb | number of block columns of sparse matrix A. |
| System.Int32 | nnzb | number of nonzero blocks of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrA | integer array of mb+1 elements that contains the start of every block row and the end of the last block row plus one of matrix A. |
| CudaDeviceVariable<System.Int32> | bsrColIndA | integer array of nnzb column indices of the nonzero blocks of matrix A. |
| System.Int32 | rowBlockDimA | number of rows within a block of A. |
| System.Int32 | colBlockDimA | number of columns within a block of A. |
| CudaSparseMatrixDescriptor | descrC | the descriptor of matrix C. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Int32> | bsrRowPtrC | integer array of mc+1 elements that contains the start of every block row and the end of the last block row plus one of matrix C. |
| System.Int32 | rowBlockDimC | number of rows within a block of C |
| System.Int32 | colBlockDimC | number of columns within a block of C |
| System.Int32 | nnzTotalDevHostPtr | total number of nonzero blocks of C. nnzTotalDevHostPtr is the same as bsrRowPtrC[mc]-bsrRowPtrC[0] |
| CudaDeviceVariable<System.Byte> | buffer | buffer allocated by the user, the size is return by gebsr2gebsr_bufferSizeExt. |
Gemmi(Int32, Int32, Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, Int32)
Description: dense - sparse matrix multiplication C = alpha * A * B + beta * C, where A is column-major dense matrix, B is a sparse matrix in CSC format, and C is column-major dense matrix.
Declaration
public void Gemmi(int m, int n, int k, int nnz, CudaDeviceVariable<cuDoubleComplex> alpha, CudaDeviceVariable<cuDoubleComplex> A, int lda, CudaDeviceVariable<cuDoubleComplex> cscValB, CudaDeviceVariable<int> cscColPtrB, CudaDeviceVariable<int> cscRowIndB, CudaDeviceVariable<cuDoubleComplex> beta, CudaDeviceVariable<cuDoubleComplex> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | k | |
| System.Int32 | nnz | |
| CudaDeviceVariable<cuDoubleComplex> | alpha | |
| CudaDeviceVariable<cuDoubleComplex> | A | |
| System.Int32 | lda | |
| CudaDeviceVariable<cuDoubleComplex> | cscValB | |
| CudaDeviceVariable<System.Int32> | cscColPtrB | |
| CudaDeviceVariable<System.Int32> | cscRowIndB | |
| CudaDeviceVariable<cuDoubleComplex> | beta | |
| CudaDeviceVariable<cuDoubleComplex> | C | |
| System.Int32 | ldc |
Gemmi(Int32, Int32, Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, Int32)
Description: dense - sparse matrix multiplication C = alpha * A * B + beta * C, where A is column-major dense matrix, B is a sparse matrix in CSC format, and C is column-major dense matrix.
Declaration
public void Gemmi(int m, int n, int k, int nnz, CudaDeviceVariable<cuFloatComplex> alpha, CudaDeviceVariable<cuFloatComplex> A, int lda, CudaDeviceVariable<cuFloatComplex> cscValB, CudaDeviceVariable<int> cscColPtrB, CudaDeviceVariable<int> cscRowIndB, CudaDeviceVariable<cuFloatComplex> beta, CudaDeviceVariable<cuFloatComplex> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | k | |
| System.Int32 | nnz | |
| CudaDeviceVariable<cuFloatComplex> | alpha | |
| CudaDeviceVariable<cuFloatComplex> | A | |
| System.Int32 | lda | |
| CudaDeviceVariable<cuFloatComplex> | cscValB | |
| CudaDeviceVariable<System.Int32> | cscColPtrB | |
| CudaDeviceVariable<System.Int32> | cscRowIndB | |
| CudaDeviceVariable<cuFloatComplex> | beta | |
| CudaDeviceVariable<cuFloatComplex> | C | |
| System.Int32 | ldc |
Gemmi(Int32, Int32, Int32, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, Int32)
Description: dense - sparse matrix multiplication C = alpha * A * B + beta * C, where A is column-major dense matrix, B is a sparse matrix in CSC format, and C is column-major dense matrix.
Declaration
public void Gemmi(int m, int n, int k, int nnz, CudaDeviceVariable<double> alpha, CudaDeviceVariable<double> A, int lda, CudaDeviceVariable<double> cscValB, CudaDeviceVariable<int> cscColPtrB, CudaDeviceVariable<int> cscRowIndB, CudaDeviceVariable<double> beta, CudaDeviceVariable<double> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | k | |
| System.Int32 | nnz | |
| CudaDeviceVariable<System.Double> | alpha | |
| CudaDeviceVariable<System.Double> | A | |
| System.Int32 | lda | |
| CudaDeviceVariable<System.Double> | cscValB | |
| CudaDeviceVariable<System.Int32> | cscColPtrB | |
| CudaDeviceVariable<System.Int32> | cscRowIndB | |
| CudaDeviceVariable<System.Double> | beta | |
| CudaDeviceVariable<System.Double> | C | |
| System.Int32 | ldc |
Gemmi(Int32, Int32, Int32, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, Int32)
Description: dense - sparse matrix multiplication C = alpha * A * B + beta * C, where A is column-major dense matrix, B is a sparse matrix in CSC format, and C is column-major dense matrix.
Declaration
public void Gemmi(int m, int n, int k, int nnz, CudaDeviceVariable<float> alpha, CudaDeviceVariable<float> A, int lda, CudaDeviceVariable<float> cscValB, CudaDeviceVariable<int> cscColPtrB, CudaDeviceVariable<int> cscRowIndB, CudaDeviceVariable<float> beta, CudaDeviceVariable<float> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | k | |
| System.Int32 | nnz | |
| CudaDeviceVariable<System.Single> | alpha | |
| CudaDeviceVariable<System.Single> | A | |
| System.Int32 | lda | |
| CudaDeviceVariable<System.Single> | cscValB | |
| CudaDeviceVariable<System.Int32> | cscColPtrB | |
| CudaDeviceVariable<System.Int32> | cscRowIndB | |
| CudaDeviceVariable<System.Single> | beta | |
| CudaDeviceVariable<System.Single> | C | |
| System.Int32 | ldc |
Gemmi(Int32, Int32, Int32, Int32, cuDoubleComplex, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cuDoubleComplex, CudaDeviceVariable<cuDoubleComplex>, Int32)
Description: dense - sparse matrix multiplication C = alpha * A * B + beta * C, where A is column-major dense matrix, B is a sparse matrix in CSC format, and C is column-major dense matrix.
Declaration
public void Gemmi(int m, int n, int k, int nnz, cuDoubleComplex alpha, CudaDeviceVariable<cuDoubleComplex> A, int lda, CudaDeviceVariable<cuDoubleComplex> cscValB, CudaDeviceVariable<int> cscColPtrB, CudaDeviceVariable<int> cscRowIndB, cuDoubleComplex beta, CudaDeviceVariable<cuDoubleComplex> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | k | |
| System.Int32 | nnz | |
| cuDoubleComplex | alpha | |
| CudaDeviceVariable<cuDoubleComplex> | A | |
| System.Int32 | lda | |
| CudaDeviceVariable<cuDoubleComplex> | cscValB | |
| CudaDeviceVariable<System.Int32> | cscColPtrB | |
| CudaDeviceVariable<System.Int32> | cscRowIndB | |
| cuDoubleComplex | beta | |
| CudaDeviceVariable<cuDoubleComplex> | C | |
| System.Int32 | ldc |
Gemmi(Int32, Int32, Int32, Int32, cuFloatComplex, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cuFloatComplex, CudaDeviceVariable<cuFloatComplex>, Int32)
Description: dense - sparse matrix multiplication C = alpha * A * B + beta * C, where A is column-major dense matrix, B is a sparse matrix in CSC format, and C is column-major dense matrix.
Declaration
public void Gemmi(int m, int n, int k, int nnz, cuFloatComplex alpha, CudaDeviceVariable<cuFloatComplex> A, int lda, CudaDeviceVariable<cuFloatComplex> cscValB, CudaDeviceVariable<int> cscColPtrB, CudaDeviceVariable<int> cscRowIndB, cuFloatComplex beta, CudaDeviceVariable<cuFloatComplex> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | k | |
| System.Int32 | nnz | |
| cuFloatComplex | alpha | |
| CudaDeviceVariable<cuFloatComplex> | A | |
| System.Int32 | lda | |
| CudaDeviceVariable<cuFloatComplex> | cscValB | |
| CudaDeviceVariable<System.Int32> | cscColPtrB | |
| CudaDeviceVariable<System.Int32> | cscRowIndB | |
| cuFloatComplex | beta | |
| CudaDeviceVariable<cuFloatComplex> | C | |
| System.Int32 | ldc |
Gemmi(Int32, Int32, Int32, Int32, Double, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Double, CudaDeviceVariable<Double>, Int32)
Description: dense - sparse matrix multiplication C = alpha * A * B + beta * C, where A is column-major dense matrix, B is a sparse matrix in CSC format, and C is column-major dense matrix.
Declaration
public void Gemmi(int m, int n, int k, int nnz, double alpha, CudaDeviceVariable<double> A, int lda, CudaDeviceVariable<double> cscValB, CudaDeviceVariable<int> cscColPtrB, CudaDeviceVariable<int> cscRowIndB, double beta, CudaDeviceVariable<double> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | k | |
| System.Int32 | nnz | |
| System.Double | alpha | |
| CudaDeviceVariable<System.Double> | A | |
| System.Int32 | lda | |
| CudaDeviceVariable<System.Double> | cscValB | |
| CudaDeviceVariable<System.Int32> | cscColPtrB | |
| CudaDeviceVariable<System.Int32> | cscRowIndB | |
| System.Double | beta | |
| CudaDeviceVariable<System.Double> | C | |
| System.Int32 | ldc |
Gemmi(Int32, Int32, Int32, Int32, Single, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, CudaDeviceVariable<Single>, Int32)
Description: dense - sparse matrix multiplication C = alpha * A * B + beta * C, where A is column-major dense matrix, B is a sparse matrix in CSC format, and C is column-major dense matrix.
Declaration
public void Gemmi(int m, int n, int k, int nnz, float alpha, CudaDeviceVariable<float> A, int lda, CudaDeviceVariable<float> cscValB, CudaDeviceVariable<int> cscColPtrB, CudaDeviceVariable<int> cscRowIndB, float beta, CudaDeviceVariable<float> C, int ldc)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | k | |
| System.Int32 | nnz | |
| System.Single | alpha | |
| CudaDeviceVariable<System.Single> | A | |
| System.Int32 | lda | |
| CudaDeviceVariable<System.Single> | cscValB | |
| CudaDeviceVariable<System.Int32> | cscColPtrB | |
| CudaDeviceVariable<System.Int32> | cscRowIndB | |
| System.Single | beta | |
| CudaDeviceVariable<System.Single> | C | |
| System.Int32 | ldc |
Gemvi(cusparseOperation, Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, cusparseIndexBase, CudaDeviceVariable<Byte>)
This function performs the matrix-vector operation
y = alpha * op(A) * x + B * y
A is an m x n dense matrix and a sparse vector x that is defined in a sparse storage format by the two arrays xVal, xInd of length nnz, and y is a dense vector; alpha and beta are scalars.
Declaration
public void Gemvi(cusparseOperation transA, int m, int n, CudaDeviceVariable<cuDoubleComplex> alpha, CudaDeviceVariable<cuDoubleComplex> A, int lda, int nnz, CudaDeviceVariable<cuDoubleComplex> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<cuDoubleComplex> beta, CudaDeviceVariable<cuDoubleComplex> y, cusparseIndexBase idxBase, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<cuDoubleComplex> | alpha | scalar used for multiplication. |
| CudaDeviceVariable<cuDoubleComplex> | A | the pointer to dense matrix A. |
| System.Int32 | lda | size of the leading dimension of A. |
| System.Int32 | nnz | number of nonzero elements of vector x. |
| CudaDeviceVariable<cuDoubleComplex> | xVal | sparse vector of nnz elements of size n if op(A) = A, and of size m if op(A) = A^T or op(A) = A^H |
| CudaDeviceVariable<System.Int32> | xInd | Indices of non-zero values in x |
| CudaDeviceVariable<cuDoubleComplex> | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<cuDoubleComplex> | y | dense vector of m elements if op(A) = A, and of n elements if op(A) = A^T or op(A) = A^H |
| cusparseIndexBase | idxBase | 0 or 1, for 0 based or 1 based indexing, respectively |
| CudaDeviceVariable<System.Byte> | pBuffer | working space buffer, of size given by Xgemvi_getBufferSize() |
Gemvi(cusparseOperation, Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, cusparseIndexBase, CudaDeviceVariable<Byte>)
This function performs the matrix-vector operation
y = alpha * op(A) * x + B * y
A is an m x n dense matrix and a sparse vector x that is defined in a sparse storage format by the two arrays xVal, xInd of length nnz, and y is a dense vector; alpha and beta are scalars.
Declaration
public void Gemvi(cusparseOperation transA, int m, int n, CudaDeviceVariable<cuFloatComplex> alpha, CudaDeviceVariable<cuFloatComplex> A, int lda, int nnz, CudaDeviceVariable<cuFloatComplex> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<cuFloatComplex> beta, CudaDeviceVariable<cuFloatComplex> y, cusparseIndexBase idxBase, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<cuFloatComplex> | alpha | scalar used for multiplication. |
| CudaDeviceVariable<cuFloatComplex> | A | the pointer to dense matrix A. |
| System.Int32 | lda | size of the leading dimension of A. |
| System.Int32 | nnz | number of nonzero elements of vector x. |
| CudaDeviceVariable<cuFloatComplex> | xVal | sparse vector of nnz elements of size n if op(A) = A, and of size m if op(A) = A^T or op(A) = A^H |
| CudaDeviceVariable<System.Int32> | xInd | Indices of non-zero values in x |
| CudaDeviceVariable<cuFloatComplex> | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<cuFloatComplex> | y | dense vector of m elements if op(A) = A, and of n elements if op(A) = A^T or op(A) = A^H |
| cusparseIndexBase | idxBase | 0 or 1, for 0 based or 1 based indexing, respectively |
| CudaDeviceVariable<System.Byte> | pBuffer | working space buffer, of size given by Xgemvi_getBufferSize() |
Gemvi(cusparseOperation, Int32, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, Int32, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, cusparseIndexBase, CudaDeviceVariable<Byte>)
This function performs the matrix-vector operation
y = alpha * op(A) * x + B * y
A is an m x n dense matrix and a sparse vector x that is defined in a sparse storage format by the two arrays xVal, xInd of length nnz, and y is a dense vector; alpha and beta are scalars.
Declaration
public void Gemvi(cusparseOperation transA, int m, int n, CudaDeviceVariable<double> alpha, CudaDeviceVariable<double> A, int lda, int nnz, CudaDeviceVariable<double> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<double> beta, CudaDeviceVariable<double> y, cusparseIndexBase idxBase, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<System.Double> | alpha | scalar used for multiplication. |
| CudaDeviceVariable<System.Double> | A | the pointer to dense matrix A. |
| System.Int32 | lda | size of the leading dimension of A. |
| System.Int32 | nnz | number of nonzero elements of vector x. |
| CudaDeviceVariable<System.Double> | xVal | sparse vector of nnz elements of size n if op(A) = A, and of size m if op(A) = A^T or op(A) = A^H |
| CudaDeviceVariable<System.Int32> | xInd | Indices of non-zero values in x |
| CudaDeviceVariable<System.Double> | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<System.Double> | y | dense vector of m elements if op(A) = A, and of n elements if op(A) = A^T or op(A) = A^H |
| cusparseIndexBase | idxBase | 0 or 1, for 0 based or 1 based indexing, respectively |
| CudaDeviceVariable<System.Byte> | pBuffer | working space buffer, of size given by Xgemvi_getBufferSize() |
Gemvi(cusparseOperation, Int32, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, Int32, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, cusparseIndexBase, CudaDeviceVariable<Byte>)
This function performs the matrix-vector operation
y = alpha * op(A) * x + B * y
A is an m x n dense matrix and a sparse vector x that is defined in a sparse storage format by the two arrays xVal, xInd of length nnz, and y is a dense vector; alpha and beta are scalars.
Declaration
public void Gemvi(cusparseOperation transA, int m, int n, CudaDeviceVariable<float> alpha, CudaDeviceVariable<float> A, int lda, int nnz, CudaDeviceVariable<float> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<float> beta, CudaDeviceVariable<float> y, cusparseIndexBase idxBase, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaDeviceVariable<System.Single> | alpha | scalar used for multiplication. |
| CudaDeviceVariable<System.Single> | A | the pointer to dense matrix A. |
| System.Int32 | lda | size of the leading dimension of A. |
| System.Int32 | nnz | number of nonzero elements of vector x. |
| CudaDeviceVariable<System.Single> | xVal | sparse vector of nnz elements of size n if op(A) = A, and of size m if op(A) = A^T or op(A) = A^H |
| CudaDeviceVariable<System.Int32> | xInd | Indices of non-zero values in x |
| CudaDeviceVariable<System.Single> | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<System.Single> | y | dense vector of m elements if op(A) = A, and of n elements if op(A) = A^T or op(A) = A^H |
| cusparseIndexBase | idxBase | 0 or 1, for 0 based or 1 based indexing, respectively |
| CudaDeviceVariable<System.Byte> | pBuffer | working space buffer, of size given by Xgemvi_getBufferSize() |
Gemvi(cusparseOperation, Int32, Int32, cuDoubleComplex, CudaDeviceVariable<cuDoubleComplex>, Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, cuDoubleComplex, CudaDeviceVariable<cuDoubleComplex>, cusparseIndexBase, CudaDeviceVariable<Byte>)
This function performs the matrix-vector operation
y = alpha * op(A) * x + B * y
A is an m x n dense matrix and a sparse vector x that is defined in a sparse storage format by the two arrays xVal, xInd of length nnz, and y is a dense vector; alpha and beta are scalars.
Declaration
public void Gemvi(cusparseOperation transA, int m, int n, cuDoubleComplex alpha, CudaDeviceVariable<cuDoubleComplex> A, int lda, int nnz, CudaDeviceVariable<cuDoubleComplex> xVal, CudaDeviceVariable<int> xInd, cuDoubleComplex beta, CudaDeviceVariable<cuDoubleComplex> y, cusparseIndexBase idxBase, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| cuDoubleComplex | alpha | scalar used for multiplication. |
| CudaDeviceVariable<cuDoubleComplex> | A | the pointer to dense matrix A. |
| System.Int32 | lda | size of the leading dimension of A. |
| System.Int32 | nnz | number of nonzero elements of vector x. |
| CudaDeviceVariable<cuDoubleComplex> | xVal | sparse vector of nnz elements of size n if op(A) = A, and of size m if op(A) = A^T or op(A) = A^H |
| CudaDeviceVariable<System.Int32> | xInd | Indices of non-zero values in x |
| cuDoubleComplex | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<cuDoubleComplex> | y | dense vector of m elements if op(A) = A, and of n elements if op(A) = A^T or op(A) = A^H |
| cusparseIndexBase | idxBase | 0 or 1, for 0 based or 1 based indexing, respectively |
| CudaDeviceVariable<System.Byte> | pBuffer | working space buffer, of size given by Xgemvi_getBufferSize() |
Gemvi(cusparseOperation, Int32, Int32, cuFloatComplex, CudaDeviceVariable<cuFloatComplex>, Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, cuFloatComplex, CudaDeviceVariable<cuFloatComplex>, cusparseIndexBase, CudaDeviceVariable<Byte>)
This function performs the matrix-vector operation
y = alpha * op(A) * x + B * y
A is an m x n dense matrix and a sparse vector x that is defined in a sparse storage format by the two arrays xVal, xInd of length nnz, and y is a dense vector; alpha and beta are scalars.
Declaration
public void Gemvi(cusparseOperation transA, int m, int n, cuFloatComplex alpha, CudaDeviceVariable<cuFloatComplex> A, int lda, int nnz, CudaDeviceVariable<cuFloatComplex> xVal, CudaDeviceVariable<int> xInd, cuFloatComplex beta, CudaDeviceVariable<cuFloatComplex> y, cusparseIndexBase idxBase, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| cuFloatComplex | alpha | scalar used for multiplication. |
| CudaDeviceVariable<cuFloatComplex> | A | the pointer to dense matrix A. |
| System.Int32 | lda | size of the leading dimension of A. |
| System.Int32 | nnz | number of nonzero elements of vector x. |
| CudaDeviceVariable<cuFloatComplex> | xVal | sparse vector of nnz elements of size n if op(A) = A, and of size m if op(A) = A^T or op(A) = A^H |
| CudaDeviceVariable<System.Int32> | xInd | Indices of non-zero values in x |
| cuFloatComplex | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<cuFloatComplex> | y | dense vector of m elements if op(A) = A, and of n elements if op(A) = A^T or op(A) = A^H |
| cusparseIndexBase | idxBase | 0 or 1, for 0 based or 1 based indexing, respectively |
| CudaDeviceVariable<System.Byte> | pBuffer | working space buffer, of size given by Xgemvi_getBufferSize() |
Gemvi(cusparseOperation, Int32, Int32, Double, CudaDeviceVariable<Double>, Int32, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, Double, CudaDeviceVariable<Double>, cusparseIndexBase, CudaDeviceVariable<Byte>)
This function performs the matrix-vector operation
y = alpha * op(A) * x + B * y
A is an m x n dense matrix and a sparse vector x that is defined in a sparse storage format by the two arrays xVal, xInd of length nnz, and y is a dense vector; alpha and beta are scalars.
Declaration
public void Gemvi(cusparseOperation transA, int m, int n, double alpha, CudaDeviceVariable<double> A, int lda, int nnz, CudaDeviceVariable<double> xVal, CudaDeviceVariable<int> xInd, double beta, CudaDeviceVariable<double> y, cusparseIndexBase idxBase, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Double | alpha | scalar used for multiplication. |
| CudaDeviceVariable<System.Double> | A | the pointer to dense matrix A. |
| System.Int32 | lda | size of the leading dimension of A. |
| System.Int32 | nnz | number of nonzero elements of vector x. |
| CudaDeviceVariable<System.Double> | xVal | sparse vector of nnz elements of size n if op(A) = A, and of size m if op(A) = A^T or op(A) = A^H |
| CudaDeviceVariable<System.Int32> | xInd | Indices of non-zero values in x |
| System.Double | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<System.Double> | y | dense vector of m elements if op(A) = A, and of n elements if op(A) = A^T or op(A) = A^H |
| cusparseIndexBase | idxBase | 0 or 1, for 0 based or 1 based indexing, respectively |
| CudaDeviceVariable<System.Byte> | pBuffer | working space buffer, of size given by Xgemvi_getBufferSize() |
Gemvi(cusparseOperation, Int32, Int32, Single, CudaDeviceVariable<Single>, Int32, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, Single, CudaDeviceVariable<Single>, cusparseIndexBase, CudaDeviceVariable<Byte>)
This function performs the matrix-vector operation
y = alpha * op(A) * x + B * y
A is an m x n dense matrix and a sparse vector x that is defined in a sparse storage format by the two arrays xVal, xInd of length nnz, and y is a dense vector; alpha and beta are scalars.
Declaration
public void Gemvi(cusparseOperation transA, int m, int n, float alpha, CudaDeviceVariable<float> A, int lda, int nnz, CudaDeviceVariable<float> xVal, CudaDeviceVariable<int> xInd, float beta, CudaDeviceVariable<float> y, cusparseIndexBase idxBase, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| System.Single | alpha | scalar used for multiplication. |
| CudaDeviceVariable<System.Single> | A | the pointer to dense matrix A. |
| System.Int32 | lda | size of the leading dimension of A. |
| System.Int32 | nnz | number of nonzero elements of vector x. |
| CudaDeviceVariable<System.Single> | xVal | sparse vector of nnz elements of size n if op(A) = A, and of size m if op(A) = A^T or op(A) = A^H |
| CudaDeviceVariable<System.Int32> | xInd | Indices of non-zero values in x |
| System.Single | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<System.Single> | y | dense vector of m elements if op(A) = A, and of n elements if op(A) = A^T or op(A) = A^H |
| cusparseIndexBase | idxBase | 0 or 1, for 0 based or 1 based indexing, respectively |
| CudaDeviceVariable<System.Byte> | pBuffer | working space buffer, of size given by Xgemvi_getBufferSize() |
GemviCBufferSize(cusparseOperation, Int32, Int32, Int32)
This function returns size of buffer used in gemvi(). A is an (m)x(n) dense matrix.
Declaration
public int GemviCBufferSize(cusparseOperation transA, int m, int n, int nnz)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix Y. |
| System.Int32 | nnz | number of nonzero entries of vector x multiplying A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | number of elements needed the buffer used in gemvi(). |
GemviDBufferSize(cusparseOperation, Int32, Int32, Int32)
This function returns size of buffer used in gemvi(). A is an (m)x(n) dense matrix.
Declaration
public int GemviDBufferSize(cusparseOperation transA, int m, int n, int nnz)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix Y. |
| System.Int32 | nnz | number of nonzero entries of vector x multiplying A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | number of elements needed the buffer used in gemvi(). |
GemviSBufferSize(cusparseOperation, Int32, Int32, Int32)
This function returns size of buffer used in gemvi(). A is an (m)x(n) dense matrix.
Declaration
public int GemviSBufferSize(cusparseOperation transA, int m, int n, int nnz)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix Y. |
| System.Int32 | nnz | number of nonzero entries of vector x multiplying A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | number of elements needed the buffer used in gemvi(). |
GemviZBufferSize(cusparseOperation, Int32, Int32, Int32)
This function returns size of buffer used in gemvi(). A is an (m)x(n) dense matrix.
Declaration
public int GemviZBufferSize(cusparseOperation transA, int m, int n, int nnz)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix Y. |
| System.Int32 | nnz | number of nonzero entries of vector x multiplying A. |
Returns
| Type | Description |
|---|---|
| System.Int32 | number of elements needed the buffer used in gemvi(). |
GetLevelInfo(CudaSparseSolveAnalysisInfo, out Int32, out CudaDeviceVariable<Int32>, out CudaDeviceVariable<Int32>)
This function returns the number of levels and the assignment of rows into the levels computed by either the csrsv_analysis, csrsm_analysis or hybsv_analysis routines.
Declaration
public void GetLevelInfo(CudaSparseSolveAnalysisInfo info, out int nLevels, out CudaDeviceVariable<int> levelPtr, out CudaDeviceVariable<int> levelIdx)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseSolveAnalysisInfo | info | the pointer to the solve and analysis structure. |
| System.Int32 | nLevels | number of levels. |
| CudaDeviceVariable<System.Int32> | levelPtr | integer array of nlevels+1 elements that contains the start of every level and the end of the last level plus one. |
| CudaDeviceVariable<System.Int32> | levelIdx | integer array of m (number of rows in the matrix) elements that contains the row indices belonging to every level. |
GetPointerMode()
Returns the pointer mode for scalar values (host or device pointer)
Declaration
public cusparsePointerMode GetPointerMode()
Returns
| Type | Description |
|---|---|
| cusparsePointerMode |
GetStream()
Gets the cuda stream to use
Declaration
public CUstream GetStream()
Returns
| Type | Description |
|---|---|
| CUstream |
GetVersion()
Returns the version of the underlying CUSPARSE library
Declaration
public Version GetVersion()
Returns
| Type | Description |
|---|---|
| System.Version |
Gthr(CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, cusparseIndexBase)
Gather of non-zero elements from dense vector y into sparse vector x.
Declaration
public void Gthr(CudaDeviceVariable<cuDoubleComplex> y, CudaDeviceVariable<cuDoubleComplex> xVal, CudaDeviceVariable<int> xInd, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<cuDoubleComplex> | y | vector in dense format (of size >= max(xInd)-idxBase+1). |
| CudaDeviceVariable<cuDoubleComplex> | xVal | vector with nnz non-zero values that were gathered from vector y (that is unchanged if nnz == 0). |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| cusparseIndexBase | idxBase | Index base. |
Gthr(CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, cusparseIndexBase)
Gather of non-zero elements from dense vector y into sparse vector x.
Declaration
public void Gthr(CudaDeviceVariable<cuFloatComplex> y, CudaDeviceVariable<cuFloatComplex> xVal, CudaDeviceVariable<int> xInd, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<cuFloatComplex> | y | vector in dense format (of size >= max(xInd)-idxBase+1). |
| CudaDeviceVariable<cuFloatComplex> | xVal | vector with nnz non-zero values that were gathered from vector y (that is unchanged if nnz == 0). |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| cusparseIndexBase | idxBase | Index base. |
Gthr(CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, cusparseIndexBase)
Gather of non-zero elements from dense vector y into sparse vector x.
Declaration
public void Gthr(CudaDeviceVariable<double> y, CudaDeviceVariable<double> xVal, CudaDeviceVariable<int> xInd, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<System.Double> | y | vector in dense format (of size >= max(xInd)-idxBase+1). |
| CudaDeviceVariable<System.Double> | xVal | vector with nnz non-zero values that were gathered from vector y (that is unchanged if nnz == 0). |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| cusparseIndexBase | idxBase | Index base. |
Gthr(CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, cusparseIndexBase)
Gather of non-zero elements from dense vector y into sparse vector x.
Declaration
public void Gthr(CudaDeviceVariable<float> y, CudaDeviceVariable<float> xVal, CudaDeviceVariable<int> xInd, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<System.Single> | y | vector in dense format (of size >= max(xInd)-idxBase+1). |
| CudaDeviceVariable<System.Single> | xVal | vector with nnz non-zero values that were gathered from vector y (that is unchanged if nnz == 0). |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| cusparseIndexBase | idxBase | Index base. |
Gthrz(CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, cusparseIndexBase)
Gather of non-zero elements from desne vector y into sparse vector x (also replacing these elements in y by zeros).
Declaration
public void Gthrz(CudaDeviceVariable<cuDoubleComplex> y, CudaDeviceVariable<cuDoubleComplex> xVal, CudaDeviceVariable<int> xInd, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<cuDoubleComplex> | y | vector in dense format with elements indexed by xInd set to zero (it is unchanged if nnz == 0). |
| CudaDeviceVariable<cuDoubleComplex> | xVal | vector with nnz non-zero values that were gathered from vector y (that is unchanged if nnz == 0). |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| cusparseIndexBase | idxBase | Index base. |
Gthrz(CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, cusparseIndexBase)
Gather of non-zero elements from desne vector y into sparse vector x (also replacing these elements in y by zeros).
Declaration
public void Gthrz(CudaDeviceVariable<cuFloatComplex> y, CudaDeviceVariable<cuFloatComplex> xVal, CudaDeviceVariable<int> xInd, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<cuFloatComplex> | y | vector in dense format with elements indexed by xInd set to zero (it is unchanged if nnz == 0). |
| CudaDeviceVariable<cuFloatComplex> | xVal | vector with nnz non-zero values that were gathered from vector y (that is unchanged if nnz == 0). |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| cusparseIndexBase | idxBase | Index base. |
Gthrz(CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, cusparseIndexBase)
Gather of non-zero elements from desne vector y into sparse vector x (also replacing these elements in y by zeros).
Declaration
public void Gthrz(CudaDeviceVariable<double> y, CudaDeviceVariable<double> xVal, CudaDeviceVariable<int> xInd, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<System.Double> | y | vector in dense format with elements indexed by xInd set to zero (it is unchanged if nnz == 0). |
| CudaDeviceVariable<System.Double> | xVal | vector with nnz non-zero values that were gathered from vector y (that is unchanged if nnz == 0). |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| cusparseIndexBase | idxBase | Index base. |
Gthrz(CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, cusparseIndexBase)
Gather of non-zero elements from desne vector y into sparse vector x (also replacing these elements in y by zeros).
Declaration
public void Gthrz(CudaDeviceVariable<float> y, CudaDeviceVariable<float> xVal, CudaDeviceVariable<int> xInd, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<System.Single> | y | vector in dense format with elements indexed by xInd set to zero (it is unchanged if nnz == 0). |
| CudaDeviceVariable<System.Single> | xVal | vector with nnz non-zero values that were gathered from vector y (that is unchanged if nnz == 0). |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| cusparseIndexBase | idxBase | Index base. |
Gtsv(Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, Int32)
Solution of tridiagonal linear system A * B = B, with multiple right-hand-sides. The coefficient matrix A is composed of lower (dl), main (d) and upper (du) diagonals, and the right-hand-sides B are overwritten with the solution.
Declaration
public void Gtsv(int m, int n, CudaDeviceVariable<cuDoubleComplex> dl, CudaDeviceVariable<cuDoubleComplex> d, CudaDeviceVariable<cuDoubleComplex> du, CudaDeviceVariable<cuDoubleComplex> B, int ldb)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| System.Int32 | n | number of right-hand-sides, columns of matrix B. |
| CudaDeviceVariable<cuDoubleComplex> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The first element of each lower diagonal must be zero. |
| CudaDeviceVariable<cuDoubleComplex> | d | dense array containing the main diagonal of the tri-diagonal linear system. |
| CudaDeviceVariable<cuDoubleComplex> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The last element of each upper diagonal must be zero. |
| CudaDeviceVariable<cuDoubleComplex> | B | dense right-hand-side array of dimensions (ldb, m). |
| System.Int32 | ldb | leading dimension of B (that is >= max(1;m)). |
Gtsv(Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, Int32)
Solution of tridiagonal linear system A * B = B, with multiple right-hand-sides. The coefficient matrix A is composed of lower (dl), main (d) and upper (du) diagonals, and the right-hand-sides B are overwritten with the solution.
Declaration
public void Gtsv(int m, int n, CudaDeviceVariable<cuFloatComplex> dl, CudaDeviceVariable<cuFloatComplex> d, CudaDeviceVariable<cuFloatComplex> du, CudaDeviceVariable<cuFloatComplex> B, int ldb)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| System.Int32 | n | number of right-hand-sides, columns of matrix B. |
| CudaDeviceVariable<cuFloatComplex> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The first element of each lower diagonal must be zero. |
| CudaDeviceVariable<cuFloatComplex> | d | dense array containing the main diagonal of the tri-diagonal linear system. |
| CudaDeviceVariable<cuFloatComplex> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The last element of each upper diagonal must be zero. |
| CudaDeviceVariable<cuFloatComplex> | B | dense right-hand-side array of dimensions (ldb, m). |
| System.Int32 | ldb | leading dimension of B (that is >= max(1;m)). |
Gtsv(Int32, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, Int32)
Solution of tridiagonal linear system A * B = B, with multiple right-hand-sides. The coefficient matrix A is composed of lower (dl), main (d) and upper (du) diagonals, and the right-hand-sides B are overwritten with the solution.
Declaration
public void Gtsv(int m, int n, CudaDeviceVariable<double> dl, CudaDeviceVariable<double> d, CudaDeviceVariable<double> du, CudaDeviceVariable<double> B, int ldb)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| System.Int32 | n | number of right-hand-sides, columns of matrix B. |
| CudaDeviceVariable<System.Double> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The first element of each lower diagonal must be zero. |
| CudaDeviceVariable<System.Double> | d | dense array containing the main diagonal of the tri-diagonal linear system. |
| CudaDeviceVariable<System.Double> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The last element of each upper diagonal must be zero. |
| CudaDeviceVariable<System.Double> | B | dense right-hand-side array of dimensions (ldb, m). |
| System.Int32 | ldb | leading dimension of B (that is >= max(1;m)). |
Gtsv(Int32, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, Int32)
Solution of tridiagonal linear system A * B = B, with multiple right-hand-sides. The coefficient matrix A is composed of lower (dl), main (d) and upper (du) diagonals, and the right-hand-sides B are overwritten with the solution.
Declaration
public void Gtsv(int m, int n, CudaDeviceVariable<float> dl, CudaDeviceVariable<float> d, CudaDeviceVariable<float> du, CudaDeviceVariable<float> B, int ldb)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| System.Int32 | n | number of right-hand-sides, columns of matrix B. |
| CudaDeviceVariable<System.Single> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The first element of each lower diagonal must be zero. |
| CudaDeviceVariable<System.Single> | d | dense array containing the main diagonal of the tri-diagonal linear system. |
| CudaDeviceVariable<System.Single> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The last element of each upper diagonal must be zero. |
| CudaDeviceVariable<System.Single> | B | dense right-hand-side array of dimensions (ldb, m). |
| System.Int32 | ldb | leading dimension of B (that is >= max(1;m)). |
Gtsv_nopivot(Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, Int32)
Declaration
public void Gtsv_nopivot(int m, int n, CudaDeviceVariable<cuDoubleComplex> dl, CudaDeviceVariable<cuDoubleComplex> d, CudaDeviceVariable<cuDoubleComplex> du, CudaDeviceVariable<cuDoubleComplex> B, int ldb)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<cuDoubleComplex> | dl | |
| CudaDeviceVariable<cuDoubleComplex> | d | |
| CudaDeviceVariable<cuDoubleComplex> | du | |
| CudaDeviceVariable<cuDoubleComplex> | B | |
| System.Int32 | ldb |
Gtsv_nopivot(Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, Int32)
Declaration
public void Gtsv_nopivot(int m, int n, CudaDeviceVariable<cuFloatComplex> dl, CudaDeviceVariable<cuFloatComplex> d, CudaDeviceVariable<cuFloatComplex> du, CudaDeviceVariable<cuFloatComplex> B, int ldb)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<cuFloatComplex> | dl | |
| CudaDeviceVariable<cuFloatComplex> | d | |
| CudaDeviceVariable<cuFloatComplex> | du | |
| CudaDeviceVariable<cuFloatComplex> | B | |
| System.Int32 | ldb |
Gtsv_nopivot(Int32, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, Int32)
Declaration
public void Gtsv_nopivot(int m, int n, CudaDeviceVariable<double> dl, CudaDeviceVariable<double> d, CudaDeviceVariable<double> du, CudaDeviceVariable<double> B, int ldb)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Double> | dl | |
| CudaDeviceVariable<System.Double> | d | |
| CudaDeviceVariable<System.Double> | du | |
| CudaDeviceVariable<System.Double> | B | |
| System.Int32 | ldb |
Gtsv_nopivot(Int32, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, Int32)
Declaration
public void Gtsv_nopivot(int m, int n, CudaDeviceVariable<float> dl, CudaDeviceVariable<float> d, CudaDeviceVariable<float> du, CudaDeviceVariable<float> B, int ldb)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Single> | dl | |
| CudaDeviceVariable<System.Single> | d | |
| CudaDeviceVariable<System.Single> | du | |
| CudaDeviceVariable<System.Single> | B | |
| System.Int32 | ldb |
Gtsv2(Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<Byte>)
Solution of tridiagonal linear system A * B = B, with multiple right-hand-sides. The coefficient matrix A is composed of lower (dl), main (d) and upper (du) diagonals, and the right-hand-sides B are overwritten with the solution.
Declaration
public void Gtsv2(int m, int n, CudaDeviceVariable<cuDoubleComplex> dl, CudaDeviceVariable<cuDoubleComplex> d, CudaDeviceVariable<cuDoubleComplex> du, CudaDeviceVariable<cuDoubleComplex> B, int ldb, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| System.Int32 | n | number of right-hand-sides, columns of matrix B. |
| CudaDeviceVariable<cuDoubleComplex> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The first element of each lower diagonal must be zero. |
| CudaDeviceVariable<cuDoubleComplex> | d | dense array containing the main diagonal of the tri-diagonal linear system. |
| CudaDeviceVariable<cuDoubleComplex> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The last element of each upper diagonal must be zero. |
| CudaDeviceVariable<cuDoubleComplex> | B | dense right-hand-side array of dimensions (ldb, m). |
| System.Int32 | ldb | leading dimension of B (that is >= max(1;m)). |
| CudaDeviceVariable<System.Byte> | buffer | Buffer |
Gtsv2(Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<Byte>)
Solution of tridiagonal linear system A * B = B, with multiple right-hand-sides. The coefficient matrix A is composed of lower (dl), main (d) and upper (du) diagonals, and the right-hand-sides B are overwritten with the solution.
Declaration
public void Gtsv2(int m, int n, CudaDeviceVariable<cuFloatComplex> dl, CudaDeviceVariable<cuFloatComplex> d, CudaDeviceVariable<cuFloatComplex> du, CudaDeviceVariable<cuFloatComplex> B, int ldb, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| System.Int32 | n | number of right-hand-sides, columns of matrix B. |
| CudaDeviceVariable<cuFloatComplex> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The first element of each lower diagonal must be zero. |
| CudaDeviceVariable<cuFloatComplex> | d | dense array containing the main diagonal of the tri-diagonal linear system. |
| CudaDeviceVariable<cuFloatComplex> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The last element of each upper diagonal must be zero. |
| CudaDeviceVariable<cuFloatComplex> | B | dense right-hand-side array of dimensions (ldb, m). |
| System.Int32 | ldb | leading dimension of B (that is >= max(1;m)). |
| CudaDeviceVariable<System.Byte> | buffer | Buffer |
Gtsv2(Int32, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Byte>)
Solution of tridiagonal linear system A * B = B, with multiple right-hand-sides. The coefficient matrix A is composed of lower (dl), main (d) and upper (du) diagonals, and the right-hand-sides B are overwritten with the solution.
Declaration
public void Gtsv2(int m, int n, CudaDeviceVariable<double> dl, CudaDeviceVariable<double> d, CudaDeviceVariable<double> du, CudaDeviceVariable<double> B, int ldb, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| System.Int32 | n | number of right-hand-sides, columns of matrix B. |
| CudaDeviceVariable<System.Double> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The first element of each lower diagonal must be zero. |
| CudaDeviceVariable<System.Double> | d | dense array containing the main diagonal of the tri-diagonal linear system. |
| CudaDeviceVariable<System.Double> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The last element of each upper diagonal must be zero. |
| CudaDeviceVariable<System.Double> | B | dense right-hand-side array of dimensions (ldb, m). |
| System.Int32 | ldb | leading dimension of B (that is >= max(1;m)). |
| CudaDeviceVariable<System.Byte> | buffer | Buffer |
Gtsv2(Int32, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Byte>)
Solution of tridiagonal linear system A * B = B, with multiple right-hand-sides. The coefficient matrix A is composed of lower (dl), main (d) and upper (du) diagonals, and the right-hand-sides B are overwritten with the solution.
Declaration
public void Gtsv2(int m, int n, CudaDeviceVariable<float> dl, CudaDeviceVariable<float> d, CudaDeviceVariable<float> du, CudaDeviceVariable<float> B, int ldb, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| System.Int32 | n | number of right-hand-sides, columns of matrix B. |
| CudaDeviceVariable<System.Single> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The first element of each lower diagonal must be zero. |
| CudaDeviceVariable<System.Single> | d | dense array containing the main diagonal of the tri-diagonal linear system. |
| CudaDeviceVariable<System.Single> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The last element of each upper diagonal must be zero. |
| CudaDeviceVariable<System.Single> | B | dense right-hand-side array of dimensions (ldb, m). |
| System.Int32 | ldb | leading dimension of B (that is >= max(1;m)). |
| CudaDeviceVariable<System.Byte> | buffer | Buffer |
Gtsv2_nopivot(Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<Byte>)
Declaration
public void Gtsv2_nopivot(int m, int n, CudaDeviceVariable<cuDoubleComplex> dl, CudaDeviceVariable<cuDoubleComplex> d, CudaDeviceVariable<cuDoubleComplex> du, CudaDeviceVariable<cuDoubleComplex> B, int ldb, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<cuDoubleComplex> | dl | |
| CudaDeviceVariable<cuDoubleComplex> | d | |
| CudaDeviceVariable<cuDoubleComplex> | du | |
| CudaDeviceVariable<cuDoubleComplex> | B | |
| System.Int32 | ldb | |
| CudaDeviceVariable<System.Byte> | buffer |
Gtsv2_nopivot(Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<Byte>)
Declaration
public void Gtsv2_nopivot(int m, int n, CudaDeviceVariable<cuFloatComplex> dl, CudaDeviceVariable<cuFloatComplex> d, CudaDeviceVariable<cuFloatComplex> du, CudaDeviceVariable<cuFloatComplex> B, int ldb, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<cuFloatComplex> | dl | |
| CudaDeviceVariable<cuFloatComplex> | d | |
| CudaDeviceVariable<cuFloatComplex> | du | |
| CudaDeviceVariable<cuFloatComplex> | B | |
| System.Int32 | ldb | |
| CudaDeviceVariable<System.Byte> | buffer |
Gtsv2_nopivot(Int32, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Byte>)
Declaration
public void Gtsv2_nopivot(int m, int n, CudaDeviceVariable<double> dl, CudaDeviceVariable<double> d, CudaDeviceVariable<double> du, CudaDeviceVariable<double> B, int ldb, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Double> | dl | |
| CudaDeviceVariable<System.Double> | d | |
| CudaDeviceVariable<System.Double> | du | |
| CudaDeviceVariable<System.Double> | B | |
| System.Int32 | ldb | |
| CudaDeviceVariable<System.Byte> | buffer |
Gtsv2_nopivot(Int32, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Byte>)
Declaration
public void Gtsv2_nopivot(int m, int n, CudaDeviceVariable<float> dl, CudaDeviceVariable<float> d, CudaDeviceVariable<float> du, CudaDeviceVariable<float> B, int ldb, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Single> | dl | |
| CudaDeviceVariable<System.Single> | d | |
| CudaDeviceVariable<System.Single> | du | |
| CudaDeviceVariable<System.Single> | B | |
| System.Int32 | ldb | |
| CudaDeviceVariable<System.Byte> | buffer |
Gtsv2_nopivotGetBufferSize(Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, Int32)
Declaration
public SizeT Gtsv2_nopivotGetBufferSize(int m, int n, CudaDeviceVariable<cuDoubleComplex> dl, CudaDeviceVariable<cuDoubleComplex> d, CudaDeviceVariable<cuDoubleComplex> du, CudaDeviceVariable<cuDoubleComplex> B, int ldb)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<cuDoubleComplex> | dl | |
| CudaDeviceVariable<cuDoubleComplex> | d | |
| CudaDeviceVariable<cuDoubleComplex> | du | |
| CudaDeviceVariable<cuDoubleComplex> | B | |
| System.Int32 | ldb |
Returns
| Type | Description |
|---|---|
| SizeT |
Gtsv2_nopivotGetBufferSize(Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, Int32)
Declaration
public SizeT Gtsv2_nopivotGetBufferSize(int m, int n, CudaDeviceVariable<cuFloatComplex> dl, CudaDeviceVariable<cuFloatComplex> d, CudaDeviceVariable<cuFloatComplex> du, CudaDeviceVariable<cuFloatComplex> B, int ldb)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<cuFloatComplex> | dl | |
| CudaDeviceVariable<cuFloatComplex> | d | |
| CudaDeviceVariable<cuFloatComplex> | du | |
| CudaDeviceVariable<cuFloatComplex> | B | |
| System.Int32 | ldb |
Returns
| Type | Description |
|---|---|
| SizeT |
Gtsv2_nopivotGetBufferSize(Int32, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, Int32)
Declaration
public SizeT Gtsv2_nopivotGetBufferSize(int m, int n, CudaDeviceVariable<double> dl, CudaDeviceVariable<double> d, CudaDeviceVariable<double> du, CudaDeviceVariable<double> B, int ldb)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Double> | dl | |
| CudaDeviceVariable<System.Double> | d | |
| CudaDeviceVariable<System.Double> | du | |
| CudaDeviceVariable<System.Double> | B | |
| System.Int32 | ldb |
Returns
| Type | Description |
|---|---|
| SizeT |
Gtsv2_nopivotGetBufferSize(Int32, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, Int32)
Declaration
public SizeT Gtsv2_nopivotGetBufferSize(int m, int n, CudaDeviceVariable<float> dl, CudaDeviceVariable<float> d, CudaDeviceVariable<float> du, CudaDeviceVariable<float> B, int ldb)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Single> | dl | |
| CudaDeviceVariable<System.Single> | d | |
| CudaDeviceVariable<System.Single> | du | |
| CudaDeviceVariable<System.Single> | B | |
| System.Int32 | ldb |
Returns
| Type | Description |
|---|---|
| SizeT |
Gtsv2GetBufferSize(Int32, Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, Int32)
Solution of tridiagonal linear system A * B = B, with multiple right-hand-sides. The coefficient matrix A is composed of lower (dl), main (d) and upper (du) diagonals, and the right-hand-sides B are overwritten with the solution.
Declaration
public SizeT Gtsv2GetBufferSize(int m, int n, CudaDeviceVariable<cuDoubleComplex> dl, CudaDeviceVariable<cuDoubleComplex> d, CudaDeviceVariable<cuDoubleComplex> du, CudaDeviceVariable<cuDoubleComplex> B, int ldb)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| System.Int32 | n | number of right-hand-sides, columns of matrix B. |
| CudaDeviceVariable<cuDoubleComplex> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The first element of each lower diagonal must be zero. |
| CudaDeviceVariable<cuDoubleComplex> | d | dense array containing the main diagonal of the tri-diagonal linear system. |
| CudaDeviceVariable<cuDoubleComplex> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The last element of each upper diagonal must be zero. |
| CudaDeviceVariable<cuDoubleComplex> | B | dense right-hand-side array of dimensions (ldb, m). |
| System.Int32 | ldb | leading dimension of B (that is >= max(1;m)). |
Returns
| Type | Description |
|---|---|
| SizeT |
Gtsv2GetBufferSize(Int32, Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, Int32)
Solution of tridiagonal linear system A * B = B, with multiple right-hand-sides. The coefficient matrix A is composed of lower (dl), main (d) and upper (du) diagonals, and the right-hand-sides B are overwritten with the solution.
Declaration
public SizeT Gtsv2GetBufferSize(int m, int n, CudaDeviceVariable<cuFloatComplex> dl, CudaDeviceVariable<cuFloatComplex> d, CudaDeviceVariable<cuFloatComplex> du, CudaDeviceVariable<cuFloatComplex> B, int ldb)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| System.Int32 | n | number of right-hand-sides, columns of matrix B. |
| CudaDeviceVariable<cuFloatComplex> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The first element of each lower diagonal must be zero. |
| CudaDeviceVariable<cuFloatComplex> | d | dense array containing the main diagonal of the tri-diagonal linear system. |
| CudaDeviceVariable<cuFloatComplex> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The last element of each upper diagonal must be zero. |
| CudaDeviceVariable<cuFloatComplex> | B | dense right-hand-side array of dimensions (ldb, m). |
| System.Int32 | ldb | leading dimension of B (that is >= max(1;m)). |
Returns
| Type | Description |
|---|---|
| SizeT |
Gtsv2GetBufferSize(Int32, Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, Int32)
Solution of tridiagonal linear system A * B = B, with multiple right-hand-sides. The coefficient matrix A is composed of lower (dl), main (d) and upper (du) diagonals, and the right-hand-sides B are overwritten with the solution.
Declaration
public SizeT Gtsv2GetBufferSize(int m, int n, CudaDeviceVariable<double> dl, CudaDeviceVariable<double> d, CudaDeviceVariable<double> du, CudaDeviceVariable<double> B, int ldb)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| System.Int32 | n | number of right-hand-sides, columns of matrix B. |
| CudaDeviceVariable<System.Double> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The first element of each lower diagonal must be zero. |
| CudaDeviceVariable<System.Double> | d | dense array containing the main diagonal of the tri-diagonal linear system. |
| CudaDeviceVariable<System.Double> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The last element of each upper diagonal must be zero. |
| CudaDeviceVariable<System.Double> | B | dense right-hand-side array of dimensions (ldb, m). |
| System.Int32 | ldb | leading dimension of B (that is >= max(1;m)). |
Returns
| Type | Description |
|---|---|
| SizeT |
Gtsv2GetBufferSize(Int32, Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, Int32)
Solution of tridiagonal linear system A * B = B, with multiple right-hand-sides. The coefficient matrix A is composed of lower (dl), main (d) and upper (du) diagonals, and the right-hand-sides B are overwritten with the solution.
Declaration
public SizeT Gtsv2GetBufferSize(int m, int n, CudaDeviceVariable<float> dl, CudaDeviceVariable<float> d, CudaDeviceVariable<float> du, CudaDeviceVariable<float> B, int ldb)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| System.Int32 | n | number of right-hand-sides, columns of matrix B. |
| CudaDeviceVariable<System.Single> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The first element of each lower diagonal must be zero. |
| CudaDeviceVariable<System.Single> | d | dense array containing the main diagonal of the tri-diagonal linear system. |
| CudaDeviceVariable<System.Single> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The last element of each upper diagonal must be zero. |
| CudaDeviceVariable<System.Single> | B | dense right-hand-side array of dimensions (ldb, m). |
| System.Int32 | ldb | leading dimension of B (that is >= max(1;m)). |
Returns
| Type | Description |
|---|---|
| SizeT |
Gtsv2StridedBatch(Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, Int32, Int32, CudaDeviceVariable<Byte>)
Solution of a set of tridiagonal linear systems A * x = x, each with a single right-hand-side. The coefficient matrices A are composed of lower (dl), main (d) and upper (du) diagonals and stored separated by a batchStride, while the right-hand-sides x are also separated by a batchStride.
Declaration
public void Gtsv2StridedBatch(int m, CudaDeviceVariable<cuDoubleComplex> dl, CudaDeviceVariable<cuDoubleComplex> d, CudaDeviceVariable<cuDoubleComplex> du, CudaDeviceVariable<cuDoubleComplex> x, int batchCount, int batchStride, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| CudaDeviceVariable<cuDoubleComplex> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The lower diagonal dl(i) that corresponds to the ith linear system starts at location dl + batchStride * i in memory. Also, the first element of each lower diagonal must be zero. |
| CudaDeviceVariable<cuDoubleComplex> | d | dense array containing the main diagonal of the tri-diagonal linear system. The main diagonal d(i) that corresponds to the ith linear system starts at location d + batchStride * i in memory. |
| CudaDeviceVariable<cuDoubleComplex> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The upper diagonal du(i) that corresponds to the ith linear system starts at location du + batchStride * i in memory. Also, the last element of each upper diagonal must be zero. |
| CudaDeviceVariable<cuDoubleComplex> | x | dense array that contains the right-hand-side of the tridiagonal linear system. The right-hand-side x(i) that corresponds to the ith linear system starts at location x + batchStride * i in memory. |
| System.Int32 | batchCount | Number of systems to solve. |
| System.Int32 | batchStride | stride (number of elements) that separates the vectors of every system (must be at least m). |
| CudaDeviceVariable<System.Byte> | buffer | Buffer |
Gtsv2StridedBatch(Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, Int32, Int32, CudaDeviceVariable<Byte>)
Solution of a set of tridiagonal linear systems A * x = x, each with a single right-hand-side. The coefficient matrices A are composed of lower (dl), main (d) and upper (du) diagonals and stored separated by a batchStride, while the right-hand-sides x are also separated by a batchStride.
Declaration
public void Gtsv2StridedBatch(int m, CudaDeviceVariable<cuFloatComplex> dl, CudaDeviceVariable<cuFloatComplex> d, CudaDeviceVariable<cuFloatComplex> du, CudaDeviceVariable<cuFloatComplex> x, int batchCount, int batchStride, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| CudaDeviceVariable<cuFloatComplex> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The lower diagonal dl(i) that corresponds to the ith linear system starts at location dl + batchStride * i in memory. Also, the first element of each lower diagonal must be zero. |
| CudaDeviceVariable<cuFloatComplex> | d | dense array containing the main diagonal of the tri-diagonal linear system. The main diagonal d(i) that corresponds to the ith linear system starts at location d + batchStride * i in memory. |
| CudaDeviceVariable<cuFloatComplex> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The upper diagonal du(i) that corresponds to the ith linear system starts at location du + batchStride * i in memory. Also, the last element of each upper diagonal must be zero. |
| CudaDeviceVariable<cuFloatComplex> | x | dense array that contains the right-hand-side of the tridiagonal linear system. The right-hand-side x(i) that corresponds to the ith linear system starts at location x + batchStride * i in memory. |
| System.Int32 | batchCount | Number of systems to solve. |
| System.Int32 | batchStride | stride (number of elements) that separates the vectors of every system (must be at least m). |
| CudaDeviceVariable<System.Byte> | buffer | Buffer |
Gtsv2StridedBatch(Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, Int32, Int32, CudaDeviceVariable<Byte>)
Solution of a set of tridiagonal linear systems A * x = x, each with a single right-hand-side. The coefficient matrices A are composed of lower (dl), main (d) and upper (du) diagonals and stored separated by a batchStride, while the right-hand-sides x are also separated by a batchStride.
Declaration
public void Gtsv2StridedBatch(int m, CudaDeviceVariable<double> dl, CudaDeviceVariable<double> d, CudaDeviceVariable<double> du, CudaDeviceVariable<double> x, int batchCount, int batchStride, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| CudaDeviceVariable<System.Double> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The lower diagonal dl(i) that corresponds to the ith linear system starts at location dl + batchStride * i in memory. Also, the first element of each lower diagonal must be zero. |
| CudaDeviceVariable<System.Double> | d | dense array containing the main diagonal of the tri-diagonal linear system. The main diagonal d(i) that corresponds to the ith linear system starts at location d + batchStride * i in memory. |
| CudaDeviceVariable<System.Double> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The upper diagonal du(i) that corresponds to the ith linear system starts at location du + batchStride * i in memory. Also, the last element of each upper diagonal must be zero. |
| CudaDeviceVariable<System.Double> | x | dense array that contains the right-hand-side of the tridiagonal linear system. The right-hand-side x(i) that corresponds to the ith linear system starts at location x + batchStride * i in memory. |
| System.Int32 | batchCount | Number of systems to solve. |
| System.Int32 | batchStride | stride (number of elements) that separates the vectors of every system (must be at least m). |
| CudaDeviceVariable<System.Byte> | buffer | Buffer |
Gtsv2StridedBatch(Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, Int32, Int32, CudaDeviceVariable<Byte>)
Solution of a set of tridiagonal linear systems A * x = x, each with a single right-hand-side. The coefficient matrices A are composed of lower (dl), main (d) and upper (du) diagonals and stored separated by a batchStride, while the right-hand-sides x are also separated by a batchStride.
Declaration
public void Gtsv2StridedBatch(int m, CudaDeviceVariable<float> dl, CudaDeviceVariable<float> d, CudaDeviceVariable<float> du, CudaDeviceVariable<float> x, int batchCount, int batchStride, CudaDeviceVariable<byte> buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| CudaDeviceVariable<System.Single> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The lower diagonal dl(i) that corresponds to the ith linear system starts at location dl + batchStride * i in memory. Also, the first element of each lower diagonal must be zero. |
| CudaDeviceVariable<System.Single> | d | dense array containing the main diagonal of the tri-diagonal linear system. The main diagonal d(i) that corresponds to the ith linear system starts at location d + batchStride * i in memory. |
| CudaDeviceVariable<System.Single> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The upper diagonal du(i) that corresponds to the ith linear system starts at location du + batchStride * i in memory. Also, the last element of each upper diagonal must be zero. |
| CudaDeviceVariable<System.Single> | x | dense array that contains the right-hand-side of the tridiagonal linear system. The right-hand-side x(i) that corresponds to the ith linear system starts at location x + batchStride * i in memory. |
| System.Int32 | batchCount | Number of systems to solve. |
| System.Int32 | batchStride | stride (number of elements) that separates the vectors of every system (must be at least m). |
| CudaDeviceVariable<System.Byte> | buffer | Buffer |
Gtsv2StridedBatchGetBufferSize(Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, Int32, Int32)
Solution of a set of tridiagonal linear systems A * x = x, each with a single right-hand-side. The coefficient matrices A are composed of lower (dl), main (d) and upper (du) diagonals and stored separated by a batchStride, while the right-hand-sides x are also separated by a batchStride.
Declaration
public SizeT Gtsv2StridedBatchGetBufferSize(int m, CudaDeviceVariable<cuDoubleComplex> dl, CudaDeviceVariable<cuDoubleComplex> d, CudaDeviceVariable<cuDoubleComplex> du, CudaDeviceVariable<cuDoubleComplex> x, int batchCount, int batchStride)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| CudaDeviceVariable<cuDoubleComplex> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The lower diagonal dl(i) that corresponds to the ith linear system starts at location dl + batchStride * i in memory. Also, the first element of each lower diagonal must be zero. |
| CudaDeviceVariable<cuDoubleComplex> | d | dense array containing the main diagonal of the tri-diagonal linear system. The main diagonal d(i) that corresponds to the ith linear system starts at location d + batchStride * i in memory. |
| CudaDeviceVariable<cuDoubleComplex> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The upper diagonal du(i) that corresponds to the ith linear system starts at location du + batchStride * i in memory. Also, the last element of each upper diagonal must be zero. |
| CudaDeviceVariable<cuDoubleComplex> | x | dense array that contains the right-hand-side of the tridiagonal linear system. The right-hand-side x(i) that corresponds to the ith linear system starts at location x + batchStride * i in memory. |
| System.Int32 | batchCount | Number of systems to solve. |
| System.Int32 | batchStride | stride (number of elements) that separates the vectors of every system (must be at least m). |
Returns
| Type | Description |
|---|---|
| SizeT |
Gtsv2StridedBatchGetBufferSize(Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, Int32, Int32)
Solution of a set of tridiagonal linear systems A * x = x, each with a single right-hand-side. The coefficient matrices A are composed of lower (dl), main (d) and upper (du) diagonals and stored separated by a batchStride, while the right-hand-sides x are also separated by a batchStride.
Declaration
public SizeT Gtsv2StridedBatchGetBufferSize(int m, CudaDeviceVariable<cuFloatComplex> dl, CudaDeviceVariable<cuFloatComplex> d, CudaDeviceVariable<cuFloatComplex> du, CudaDeviceVariable<cuFloatComplex> x, int batchCount, int batchStride)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| CudaDeviceVariable<cuFloatComplex> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The lower diagonal dl(i) that corresponds to the ith linear system starts at location dl + batchStride * i in memory. Also, the first element of each lower diagonal must be zero. |
| CudaDeviceVariable<cuFloatComplex> | d | dense array containing the main diagonal of the tri-diagonal linear system. The main diagonal d(i) that corresponds to the ith linear system starts at location d + batchStride * i in memory. |
| CudaDeviceVariable<cuFloatComplex> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The upper diagonal du(i) that corresponds to the ith linear system starts at location du + batchStride * i in memory. Also, the last element of each upper diagonal must be zero. |
| CudaDeviceVariable<cuFloatComplex> | x | dense array that contains the right-hand-side of the tridiagonal linear system. The right-hand-side x(i) that corresponds to the ith linear system starts at location x + batchStride * i in memory. |
| System.Int32 | batchCount | Number of systems to solve. |
| System.Int32 | batchStride | stride (number of elements) that separates the vectors of every system (must be at least m). |
Returns
| Type | Description |
|---|---|
| SizeT |
Gtsv2StridedBatchGetBufferSize(Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, Int32, Int32)
Solution of a set of tridiagonal linear systems A * x = x, each with a single right-hand-side. The coefficient matrices A are composed of lower (dl), main (d) and upper (du) diagonals and stored separated by a batchStride, while the right-hand-sides x are also separated by a batchStride.
Declaration
public SizeT Gtsv2StridedBatchGetBufferSize(int m, CudaDeviceVariable<double> dl, CudaDeviceVariable<double> d, CudaDeviceVariable<double> du, CudaDeviceVariable<double> x, int batchCount, int batchStride)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| CudaDeviceVariable<System.Double> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The lower diagonal dl(i) that corresponds to the ith linear system starts at location dl + batchStride * i in memory. Also, the first element of each lower diagonal must be zero. |
| CudaDeviceVariable<System.Double> | d | dense array containing the main diagonal of the tri-diagonal linear system. The main diagonal d(i) that corresponds to the ith linear system starts at location d + batchStride * i in memory. |
| CudaDeviceVariable<System.Double> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The upper diagonal du(i) that corresponds to the ith linear system starts at location du + batchStride * i in memory. Also, the last element of each upper diagonal must be zero. |
| CudaDeviceVariable<System.Double> | x | dense array that contains the right-hand-side of the tridiagonal linear system. The right-hand-side x(i) that corresponds to the ith linear system starts at location x + batchStride * i in memory. |
| System.Int32 | batchCount | Number of systems to solve. |
| System.Int32 | batchStride | stride (number of elements) that separates the vectors of every system (must be at least m). |
Returns
| Type | Description |
|---|---|
| SizeT |
Gtsv2StridedBatchGetBufferSize(Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, Int32, Int32)
Solution of a set of tridiagonal linear systems A * x = x, each with a single right-hand-side. The coefficient matrices A are composed of lower (dl), main (d) and upper (du) diagonals and stored separated by a batchStride, while the right-hand-sides x are also separated by a batchStride.
Declaration
public SizeT Gtsv2StridedBatchGetBufferSize(int m, CudaDeviceVariable<float> dl, CudaDeviceVariable<float> d, CudaDeviceVariable<float> du, CudaDeviceVariable<float> x, int batchCount, int batchStride)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| CudaDeviceVariable<System.Single> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The lower diagonal dl(i) that corresponds to the ith linear system starts at location dl + batchStride * i in memory. Also, the first element of each lower diagonal must be zero. |
| CudaDeviceVariable<System.Single> | d | dense array containing the main diagonal of the tri-diagonal linear system. The main diagonal d(i) that corresponds to the ith linear system starts at location d + batchStride * i in memory. |
| CudaDeviceVariable<System.Single> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The upper diagonal du(i) that corresponds to the ith linear system starts at location du + batchStride * i in memory. Also, the last element of each upper diagonal must be zero. |
| CudaDeviceVariable<System.Single> | x | dense array that contains the right-hand-side of the tridiagonal linear system. The right-hand-side x(i) that corresponds to the ith linear system starts at location x + batchStride * i in memory. |
| System.Int32 | batchCount | Number of systems to solve. |
| System.Int32 | batchStride | stride (number of elements) that separates the vectors of every system (must be at least m). |
Returns
| Type | Description |
|---|---|
| SizeT |
GtsvStridedBatch(Int32, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, Int32, Int32)
Solution of a set of tridiagonal linear systems A * x = x, each with a single right-hand-side. The coefficient matrices A are composed of lower (dl), main (d) and upper (du) diagonals and stored separated by a batchStride, while the right-hand-sides x are also separated by a batchStride.
Declaration
public void GtsvStridedBatch(int m, CudaDeviceVariable<cuDoubleComplex> dl, CudaDeviceVariable<cuDoubleComplex> d, CudaDeviceVariable<cuDoubleComplex> du, CudaDeviceVariable<cuDoubleComplex> x, int batchCount, int batchStride)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| CudaDeviceVariable<cuDoubleComplex> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The lower diagonal dl(i) that corresponds to the ith linear system starts at location dl + batchStride * i in memory. Also, the first element of each lower diagonal must be zero. |
| CudaDeviceVariable<cuDoubleComplex> | d | dense array containing the main diagonal of the tri-diagonal linear system. The main diagonal d(i) that corresponds to the ith linear system starts at location d + batchStride * i in memory. |
| CudaDeviceVariable<cuDoubleComplex> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The upper diagonal du(i) that corresponds to the ith linear system starts at location du + batchStride * i in memory. Also, the last element of each upper diagonal must be zero. |
| CudaDeviceVariable<cuDoubleComplex> | x | dense array that contains the right-hand-side of the tridiagonal linear system. The right-hand-side x(i) that corresponds to the ith linear system starts at location x + batchStride * i in memory. |
| System.Int32 | batchCount | Number of systems to solve. |
| System.Int32 | batchStride | stride (number of elements) that separates the vectors of every system (must be at least m). |
GtsvStridedBatch(Int32, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, Int32, Int32)
Solution of a set of tridiagonal linear systems A * x = x, each with a single right-hand-side. The coefficient matrices A are composed of lower (dl), main (d) and upper (du) diagonals and stored separated by a batchStride, while the right-hand-sides x are also separated by a batchStride.
Declaration
public void GtsvStridedBatch(int m, CudaDeviceVariable<cuFloatComplex> dl, CudaDeviceVariable<cuFloatComplex> d, CudaDeviceVariable<cuFloatComplex> du, CudaDeviceVariable<cuFloatComplex> x, int batchCount, int batchStride)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| CudaDeviceVariable<cuFloatComplex> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The lower diagonal dl(i) that corresponds to the ith linear system starts at location dl + batchStride * i in memory. Also, the first element of each lower diagonal must be zero. |
| CudaDeviceVariable<cuFloatComplex> | d | dense array containing the main diagonal of the tri-diagonal linear system. The main diagonal d(i) that corresponds to the ith linear system starts at location d + batchStride * i in memory. |
| CudaDeviceVariable<cuFloatComplex> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The upper diagonal du(i) that corresponds to the ith linear system starts at location du + batchStride * i in memory. Also, the last element of each upper diagonal must be zero. |
| CudaDeviceVariable<cuFloatComplex> | x | dense array that contains the right-hand-side of the tridiagonal linear system. The right-hand-side x(i) that corresponds to the ith linear system starts at location x + batchStride * i in memory. |
| System.Int32 | batchCount | Number of systems to solve. |
| System.Int32 | batchStride | stride (number of elements) that separates the vectors of every system (must be at least m). |
GtsvStridedBatch(Int32, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, Int32, Int32)
Solution of a set of tridiagonal linear systems A * x = x, each with a single right-hand-side. The coefficient matrices A are composed of lower (dl), main (d) and upper (du) diagonals and stored separated by a batchStride, while the right-hand-sides x are also separated by a batchStride.
Declaration
public void GtsvStridedBatch(int m, CudaDeviceVariable<double> dl, CudaDeviceVariable<double> d, CudaDeviceVariable<double> du, CudaDeviceVariable<double> x, int batchCount, int batchStride)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| CudaDeviceVariable<System.Double> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The lower diagonal dl(i) that corresponds to the ith linear system starts at location dl + batchStride * i in memory. Also, the first element of each lower diagonal must be zero. |
| CudaDeviceVariable<System.Double> | d | dense array containing the main diagonal of the tri-diagonal linear system. The main diagonal d(i) that corresponds to the ith linear system starts at location d + batchStride * i in memory. |
| CudaDeviceVariable<System.Double> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The upper diagonal du(i) that corresponds to the ith linear system starts at location du + batchStride * i in memory. Also, the last element of each upper diagonal must be zero. |
| CudaDeviceVariable<System.Double> | x | dense array that contains the right-hand-side of the tridiagonal linear system. The right-hand-side x(i) that corresponds to the ith linear system starts at location x + batchStride * i in memory. |
| System.Int32 | batchCount | Number of systems to solve. |
| System.Int32 | batchStride | stride (number of elements) that separates the vectors of every system (must be at least m). |
GtsvStridedBatch(Int32, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, Int32, Int32)
Solution of a set of tridiagonal linear systems A * x = x, each with a single right-hand-side. The coefficient matrices A are composed of lower (dl), main (d) and upper (du) diagonals and stored separated by a batchStride, while the right-hand-sides x are also separated by a batchStride.
Declaration
public void GtsvStridedBatch(int m, CudaDeviceVariable<float> dl, CudaDeviceVariable<float> d, CudaDeviceVariable<float> du, CudaDeviceVariable<float> x, int batchCount, int batchStride)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | the size of the linear system (must be >= 3). |
| CudaDeviceVariable<System.Single> | dl | dense array containing the lower diagonal of the tri-diagonal linear system. The lower diagonal dl(i) that corresponds to the ith linear system starts at location dl + batchStride * i in memory. Also, the first element of each lower diagonal must be zero. |
| CudaDeviceVariable<System.Single> | d | dense array containing the main diagonal of the tri-diagonal linear system. The main diagonal d(i) that corresponds to the ith linear system starts at location d + batchStride * i in memory. |
| CudaDeviceVariable<System.Single> | du | dense array containing the upper diagonal of the tri-diagonal linear system. The upper diagonal du(i) that corresponds to the ith linear system starts at location du + batchStride * i in memory. Also, the last element of each upper diagonal must be zero. |
| CudaDeviceVariable<System.Single> | x | dense array that contains the right-hand-side of the tridiagonal linear system. The right-hand-side x(i) that corresponds to the ith linear system starts at location x + batchStride * i in memory. |
| System.Int32 | batchCount | Number of systems to solve. |
| System.Int32 | batchStride | stride (number of elements) that separates the vectors of every system (must be at least m). |
Hyb2csc(CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
Declaration
public void Hyb2csc(CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaDeviceVariable<cuDoubleComplex> cscVal, CudaDeviceVariable<int> cscRowInd, CudaDeviceVariable<int> cscColPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseMatrixDescriptor | descrA | |
| CudaSparseHybMat | hybA | |
| CudaDeviceVariable<cuDoubleComplex> | cscVal | |
| CudaDeviceVariable<System.Int32> | cscRowInd | |
| CudaDeviceVariable<System.Int32> | cscColPtr |
Hyb2csc(CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
Declaration
public void Hyb2csc(CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaDeviceVariable<cuFloatComplex> cscVal, CudaDeviceVariable<int> cscRowInd, CudaDeviceVariable<int> cscColPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseMatrixDescriptor | descrA | |
| CudaSparseHybMat | hybA | |
| CudaDeviceVariable<cuFloatComplex> | cscVal | |
| CudaDeviceVariable<System.Int32> | cscRowInd | |
| CudaDeviceVariable<System.Int32> | cscColPtr |
Hyb2csc(CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
Declaration
public void Hyb2csc(CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaDeviceVariable<double> cscVal, CudaDeviceVariable<int> cscRowInd, CudaDeviceVariable<int> cscColPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseMatrixDescriptor | descrA | |
| CudaSparseHybMat | hybA | |
| CudaDeviceVariable<System.Double> | cscVal | |
| CudaDeviceVariable<System.Int32> | cscRowInd | |
| CudaDeviceVariable<System.Int32> | cscColPtr |
Hyb2csc(CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
Declaration
public void Hyb2csc(CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaDeviceVariable<float> cscVal, CudaDeviceVariable<int> cscRowInd, CudaDeviceVariable<int> cscColPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseMatrixDescriptor | descrA | |
| CudaSparseHybMat | hybA | |
| CudaDeviceVariable<System.Single> | cscVal | |
| CudaDeviceVariable<System.Int32> | cscRowInd | |
| CudaDeviceVariable<System.Int32> | cscColPtr |
Hyb2csr(CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function converts a sparse matrix in HYB format into a sparse matrix in CSR format.
This function requires some amount of temporary storage. It is executed asynchronously with respect to the host and it may return control to the application on the host before the result is ready.
Declaration
public void Hyb2csr(CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix in Hyb format. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format |
| CudaDeviceVariable<cuDoubleComplex> | csrValA | array of nnz csrRowPtrA(m) csrRowPtrA(0) non-zero elements of matrix A |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m+1 elements that contains the start of every column and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz csrRowPtrA(m) csrRowPtrA(0) column indices of the nonzero elements of matrix . |
Hyb2csr(CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function converts a sparse matrix in HYB format into a sparse matrix in CSR format.
This function requires some amount of temporary storage. It is executed asynchronously with respect to the host and it may return control to the application on the host before the result is ready.
Declaration
public void Hyb2csr(CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix in Hyb format. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format |
| CudaDeviceVariable<cuFloatComplex> | csrValA | array of nnz csrRowPtrA(m) csrRowPtrA(0) non-zero elements of matrix A |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m+1 elements that contains the start of every column and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz csrRowPtrA(m) csrRowPtrA(0) column indices of the nonzero elements of matrix . |
Hyb2csr(CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function converts a sparse matrix in HYB format into a sparse matrix in CSR format.
This function requires some amount of temporary storage. It is executed asynchronously with respect to the host and it may return control to the application on the host before the result is ready.
Declaration
public void Hyb2csr(CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix in Hyb format. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format |
| CudaDeviceVariable<System.Double> | csrValA | array of nnz csrRowPtrA(m) csrRowPtrA(0) non-zero elements of matrix A |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m+1 elements that contains the start of every column and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz csrRowPtrA(m) csrRowPtrA(0) column indices of the nonzero elements of matrix . |
Hyb2csr(CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This function converts a sparse matrix in HYB format into a sparse matrix in CSR format.
This function requires some amount of temporary storage. It is executed asynchronously with respect to the host and it may return control to the application on the host before the result is ready.
Declaration
public void Hyb2csr(CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix in Hyb format. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format |
| CudaDeviceVariable<System.Single> | csrValA | array of nnz csrRowPtrA(m) csrRowPtrA(0) non-zero elements of matrix A |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | integer array of m+1 elements that contains the start of every column and the end of the last row plus one. |
| CudaDeviceVariable<System.Int32> | csrColIndA | integer array of nnz csrRowPtrA(m) csrRowPtrA(0) column indices of the nonzero elements of matrix . |
Hyb2dense(CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaDeviceVariable<cuDoubleComplex>, Int32)
This routine converts a sparse matrix in HYB storage format to a dense matrix.
Declaration
public void Hyb2dense(CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaDeviceVariable<cuDoubleComplex> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseMatrixDescriptor | descrA | the descriptor of the matrix A in Hyb format. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| CudaDeviceVariable<cuDoubleComplex> | A | array of dimensions (lda, n) that is filled in with the values of the sparse matrix. |
| System.Int32 | lda | the matrix A in HYB storage format. |
Hyb2dense(CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaDeviceVariable<cuFloatComplex>, Int32)
This routine converts a sparse matrix in HYB storage format to a dense matrix.
Declaration
public void Hyb2dense(CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaDeviceVariable<cuFloatComplex> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseMatrixDescriptor | descrA | the descriptor of the matrix A in Hyb format. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| CudaDeviceVariable<cuFloatComplex> | A | array of dimensions (lda, n) that is filled in with the values of the sparse matrix. |
| System.Int32 | lda | the matrix A in HYB storage format. |
Hyb2dense(CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaDeviceVariable<Double>, Int32)
This routine converts a sparse matrix in HYB storage format to a dense matrix.
Declaration
public void Hyb2dense(CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaDeviceVariable<double> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseMatrixDescriptor | descrA | the descriptor of the matrix A in Hyb format. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| CudaDeviceVariable<System.Double> | A | array of dimensions (lda, n) that is filled in with the values of the sparse matrix. |
| System.Int32 | lda | the matrix A in HYB storage format. |
Hyb2dense(CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaDeviceVariable<Single>, Int32)
This routine converts a sparse matrix in HYB storage format to a dense matrix.
Declaration
public void Hyb2dense(CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaDeviceVariable<float> A, int lda)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseMatrixDescriptor | descrA | the descriptor of the matrix A in Hyb format. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| CudaDeviceVariable<System.Single> | A | array of dimensions (lda, n) that is filled in with the values of the sparse matrix. |
| System.Int32 | lda | the matrix A in HYB storage format. |
Hybmv(cusparseOperation, CudaDeviceVariable<cuDoubleComplex>, CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in HYB storage format, x and y are dense vectors.
Declaration
public void Hybmv(cusparseOperation transA, CudaDeviceVariable<cuDoubleComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaDeviceVariable<cuDoubleComplex> x, CudaDeviceVariable<cuDoubleComplex> beta, CudaDeviceVariable<cuDoubleComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| CudaDeviceVariable<cuDoubleComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| CudaDeviceVariable<cuDoubleComplex> | x | vector of n elements. |
| CudaDeviceVariable<cuDoubleComplex> | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<cuDoubleComplex> | y | vector of m elements. |
Hybmv(cusparseOperation, CudaDeviceVariable<cuFloatComplex>, CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in HYB storage format, x and y are dense vectors.
Declaration
public void Hybmv(cusparseOperation transA, CudaDeviceVariable<cuFloatComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaDeviceVariable<cuFloatComplex> x, CudaDeviceVariable<cuFloatComplex> beta, CudaDeviceVariable<cuFloatComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| CudaDeviceVariable<cuFloatComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| CudaDeviceVariable<cuFloatComplex> | x | vector of n elements. |
| CudaDeviceVariable<cuFloatComplex> | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<cuFloatComplex> | y | vector of m elements. |
Hybmv(cusparseOperation, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in HYB storage format, x and y are dense vectors.
Declaration
public void Hybmv(cusparseOperation transA, CudaDeviceVariable<double> alpha, CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaDeviceVariable<double> x, CudaDeviceVariable<double> beta, CudaDeviceVariable<double> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| CudaDeviceVariable<System.Double> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| CudaDeviceVariable<System.Double> | x | vector of n elements. |
| CudaDeviceVariable<System.Double> | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<System.Double> | y | vector of m elements. |
Hybmv(cusparseOperation, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in HYB storage format, x and y are dense vectors.
Declaration
public void Hybmv(cusparseOperation transA, CudaDeviceVariable<float> alpha, CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaDeviceVariable<float> x, CudaDeviceVariable<float> beta, CudaDeviceVariable<float> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| CudaDeviceVariable<System.Single> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| CudaDeviceVariable<System.Single> | x | vector of n elements. |
| CudaDeviceVariable<System.Single> | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<System.Single> | y | vector of m elements. |
Hybmv(cusparseOperation, cuDoubleComplex, CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaDeviceVariable<cuDoubleComplex>, cuDoubleComplex, CudaDeviceVariable<cuDoubleComplex>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in HYB storage format, x and y are dense vectors.
Declaration
public void Hybmv(cusparseOperation transA, cuDoubleComplex alpha, CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaDeviceVariable<cuDoubleComplex> x, cuDoubleComplex beta, CudaDeviceVariable<cuDoubleComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cuDoubleComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| CudaDeviceVariable<cuDoubleComplex> | x | vector of n elements. |
| cuDoubleComplex | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<cuDoubleComplex> | y | vector of m elements. |
Hybmv(cusparseOperation, cuFloatComplex, CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaDeviceVariable<cuFloatComplex>, cuFloatComplex, CudaDeviceVariable<cuFloatComplex>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in HYB storage format, x and y are dense vectors.
Declaration
public void Hybmv(cusparseOperation transA, cuFloatComplex alpha, CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaDeviceVariable<cuFloatComplex> x, cuFloatComplex beta, CudaDeviceVariable<cuFloatComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| cuFloatComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| CudaDeviceVariable<cuFloatComplex> | x | vector of n elements. |
| cuFloatComplex | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<cuFloatComplex> | y | vector of m elements. |
Hybmv(cusparseOperation, Double, CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaDeviceVariable<Double>, Double, CudaDeviceVariable<Double>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in HYB storage format, x and y are dense vectors.
Declaration
public void Hybmv(cusparseOperation transA, double alpha, CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaDeviceVariable<double> x, double beta, CudaDeviceVariable<double> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Double | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| CudaDeviceVariable<System.Double> | x | vector of n elements. |
| System.Double | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<System.Double> | y | vector of m elements. |
Hybmv(cusparseOperation, Single, CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaDeviceVariable<Single>, Single, CudaDeviceVariable<Single>)
Matrix-vector multiplication y = alpha * op(A) * x + beta * y, where A is a sparse matrix in HYB storage format, x and y are dense vectors.
Declaration
public void Hybmv(cusparseOperation transA, float alpha, CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaDeviceVariable<float> x, float beta, CudaDeviceVariable<float> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A). |
| System.Single | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| CudaDeviceVariable<System.Single> | x | vector of n elements. |
| System.Single | beta | scalar used for multiplication. If beta is zero, y does not have to be a valid input. |
| CudaDeviceVariable<System.Single> | y | vector of m elements. |
HybsvAnalysis<T>(cusparseOperation, CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaSparseSolveAnalysisInfo)
Solution of triangular linear system op(A) * y = alpha * x, where A is a sparse matrix in HYB storage format, x and y are dense vectors.
Declaration
public void HybsvAnalysis<T>(cusparseOperation transA, CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaSparseSolveAnalysisInfo info)
where T : struct
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A) (currently only op(A) = A is supported). |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal type CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
Type Parameters
| Name | Description |
|---|---|
| T | data type: float, double, cuFloatComplex or cuDoubleComplex |
HybsvSolve(cusparseOperation, CudaDeviceVariable<cuDoubleComplex>, CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>)
Solution of triangular linear system op(A) * y = alpha * x, where A is a sparse matrix in HYB storage format, x and y are dense vectors.
Declaration
public void HybsvSolve(cusparseOperation transA, CudaDeviceVariable<cuDoubleComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<cuDoubleComplex> x, CudaDeviceVariable<cuDoubleComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A) (currently only op(A) = A is supported). |
| CudaDeviceVariable<cuDoubleComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal type CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
| CudaDeviceVariable<cuDoubleComplex> | x | right-hand-side vector of size m. |
| CudaDeviceVariable<cuDoubleComplex> | y | solution vector of size m. |
HybsvSolve(cusparseOperation, CudaDeviceVariable<cuFloatComplex>, CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>)
Solution of triangular linear system op(A) * y = alpha * x, where A is a sparse matrix in HYB storage format, x and y are dense vectors.
Declaration
public void HybsvSolve(cusparseOperation transA, CudaDeviceVariable<cuFloatComplex> alpha, CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<cuFloatComplex> x, CudaDeviceVariable<cuFloatComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A) (currently only op(A) = A is supported). |
| CudaDeviceVariable<cuFloatComplex> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal type CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
| CudaDeviceVariable<cuFloatComplex> | x | right-hand-side vector of size m. |
| CudaDeviceVariable<cuFloatComplex> | y | solution vector of size m. |
HybsvSolve(cusparseOperation, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>)
Solution of triangular linear system op(A) * y = alpha * x, where A is a sparse matrix in HYB storage format, x and y are dense vectors.
Declaration
public void HybsvSolve(cusparseOperation transA, CudaDeviceVariable<double> alpha, CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<double> x, CudaDeviceVariable<double> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A) (currently only op(A) = A is supported). |
| CudaDeviceVariable<System.Double> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal type CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
| CudaDeviceVariable<System.Double> | x | right-hand-side vector of size m. |
| CudaDeviceVariable<System.Double> | y | solution vector of size m. |
HybsvSolve(cusparseOperation, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>)
Solution of triangular linear system op(A) * y = alpha * x, where A is a sparse matrix in HYB storage format, x and y are dense vectors.
Declaration
public void HybsvSolve(cusparseOperation transA, CudaDeviceVariable<float> alpha, CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<float> x, CudaDeviceVariable<float> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A) (currently only op(A) = A is supported). |
| CudaDeviceVariable<System.Single> | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal type CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
| CudaDeviceVariable<System.Single> | x | right-hand-side vector of size m. |
| CudaDeviceVariable<System.Single> | y | solution vector of size m. |
HybsvSolve(cusparseOperation, cuDoubleComplex, CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>)
Solution of triangular linear system op(A) * y = alpha * x, where A is a sparse matrix in HYB storage format, x and y are dense vectors.
Declaration
public void HybsvSolve(cusparseOperation transA, cuDoubleComplex alpha, CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<cuDoubleComplex> x, CudaDeviceVariable<cuDoubleComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A) (currently only op(A) = A is supported). |
| cuDoubleComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal type CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
| CudaDeviceVariable<cuDoubleComplex> | x | right-hand-side vector of size m. |
| CudaDeviceVariable<cuDoubleComplex> | y | solution vector of size m. |
HybsvSolve(cusparseOperation, cuFloatComplex, CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>)
Solution of triangular linear system op(A) * y = alpha * x, where A is a sparse matrix in HYB storage format, x and y are dense vectors.
Declaration
public void HybsvSolve(cusparseOperation transA, cuFloatComplex alpha, CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<cuFloatComplex> x, CudaDeviceVariable<cuFloatComplex> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A) (currently only op(A) = A is supported). |
| cuFloatComplex | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal type CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
| CudaDeviceVariable<cuFloatComplex> | x | right-hand-side vector of size m. |
| CudaDeviceVariable<cuFloatComplex> | y | solution vector of size m. |
HybsvSolve(cusparseOperation, Double, CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>)
Solution of triangular linear system op(A) * y = alpha * x, where A is a sparse matrix in HYB storage format, x and y are dense vectors.
Declaration
public void HybsvSolve(cusparseOperation transA, double alpha, CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<double> x, CudaDeviceVariable<double> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A) (currently only op(A) = A is supported). |
| System.Double | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal type CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
| CudaDeviceVariable<System.Double> | x | right-hand-side vector of size m. |
| CudaDeviceVariable<System.Double> | y | solution vector of size m. |
HybsvSolve(cusparseOperation, Single, CudaSparseMatrixDescriptor, CudaSparseHybMat, CudaSparseSolveAnalysisInfo, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>)
Solution of triangular linear system op(A) * y = alpha * x, where A is a sparse matrix in HYB storage format, x and y are dense vectors.
Declaration
public void HybsvSolve(cusparseOperation transA, float alpha, CudaSparseMatrixDescriptor descrA, CudaSparseHybMat hybA, CudaSparseSolveAnalysisInfo info, CudaDeviceVariable<float> x, CudaDeviceVariable<float> y)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseOperation | transA | the operation op(A) (currently only op(A) = A is supported). |
| System.Single | alpha | scalar used for multiplication. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_TRIANGULAR and diagonal type CUSPARSE_DIAG_TYPE_NON_UNIT. |
| CudaSparseHybMat | hybA | the matrix A in HYB storage format. |
| CudaSparseSolveAnalysisInfo | info | structure filled with information collected during the analysis phase (that should be passed to the solve phase unchanged). |
| CudaDeviceVariable<System.Single> | x | right-hand-side vector of size m. |
| CudaDeviceVariable<System.Single> | y | solution vector of size m. |
Nnz(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This routine finds the total number of non-zero elements and the number of non-zero elements per row or column in the dense matrix A.
Declaration
public void Nnz(cusparseDirection dirA, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> A, int lda, CudaDeviceVariable<int> nnzPerRowCol, CudaDeviceVariable<int> nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | direction that specifies whether to count non-zero elements by CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | A | array of dimensions (lda, n). |
| System.Int32 | lda | leading dimension of dense array A. |
| CudaDeviceVariable<System.Int32> | nnzPerRowCol | Output: array of size m or n containing the number of non-zero elements per row or column, respectively. |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr | Output: total number of non-zero elements in device or host memory. |
Nnz(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, Int32, CudaDeviceVariable<Int32>, ref Int32)
This routine finds the total number of non-zero elements and the number of non-zero elements per row or column in the dense matrix A.
Declaration
public void Nnz(cusparseDirection dirA, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> A, int lda, CudaDeviceVariable<int> nnzPerRowCol, ref int nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | direction that specifies whether to count non-zero elements by CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuDoubleComplex> | A | array of dimensions (lda, n). |
| System.Int32 | lda | leading dimension of dense array A. |
| CudaDeviceVariable<System.Int32> | nnzPerRowCol | Output: array of size m or n containing the number of non-zero elements per row or column, respectively. |
| System.Int32 | nnzTotalDevHostPtr | Output: total number of non-zero elements in device or host memory. |
Nnz(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This routine finds the total number of non-zero elements and the number of non-zero elements per row or column in the dense matrix A.
Declaration
public void Nnz(cusparseDirection dirA, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> A, int lda, CudaDeviceVariable<int> nnzPerRowCol, CudaDeviceVariable<int> nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | direction that specifies whether to count non-zero elements by CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | A | array of dimensions (lda, n). |
| System.Int32 | lda | leading dimension of dense array A. |
| CudaDeviceVariable<System.Int32> | nnzPerRowCol | Output: array of size m or n containing the number of non-zero elements per row or column, respectively. |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr | Output: total number of non-zero elements in device or host memory. |
Nnz(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, Int32, CudaDeviceVariable<Int32>, ref Int32)
This routine finds the total number of non-zero elements and the number of non-zero elements per row or column in the dense matrix A.
Declaration
public void Nnz(cusparseDirection dirA, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> A, int lda, CudaDeviceVariable<int> nnzPerRowCol, ref int nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | direction that specifies whether to count non-zero elements by CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<cuFloatComplex> | A | array of dimensions (lda, n). |
| System.Int32 | lda | leading dimension of dense array A. |
| CudaDeviceVariable<System.Int32> | nnzPerRowCol | Output: array of size m or n containing the number of non-zero elements per row or column, respectively. |
| System.Int32 | nnzTotalDevHostPtr | Output: total number of non-zero elements in device or host memory. |
Nnz(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This routine finds the total number of non-zero elements and the number of non-zero elements per row or column in the dense matrix A.
Declaration
public void Nnz(cusparseDirection dirA, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> A, int lda, CudaDeviceVariable<int> nnzPerRowCol, CudaDeviceVariable<int> nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | direction that specifies whether to count non-zero elements by CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | A | array of dimensions (lda, n). |
| System.Int32 | lda | leading dimension of dense array A. |
| CudaDeviceVariable<System.Int32> | nnzPerRowCol | Output: array of size m or n containing the number of non-zero elements per row or column, respectively. |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr | Output: total number of non-zero elements in device or host memory. |
Nnz(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Int32>, ref Int32)
This routine finds the total number of non-zero elements and the number of non-zero elements per row or column in the dense matrix A.
Declaration
public void Nnz(cusparseDirection dirA, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> A, int lda, CudaDeviceVariable<int> nnzPerRowCol, ref int nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | direction that specifies whether to count non-zero elements by CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Double> | A | array of dimensions (lda, n). |
| System.Int32 | lda | leading dimension of dense array A. |
| CudaDeviceVariable<System.Int32> | nnzPerRowCol | Output: array of size m or n containing the number of non-zero elements per row or column, respectively. |
| System.Int32 | nnzTotalDevHostPtr | Output: total number of non-zero elements in device or host memory. |
Nnz(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
This routine finds the total number of non-zero elements and the number of non-zero elements per row or column in the dense matrix A.
Declaration
public void Nnz(cusparseDirection dirA, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> A, int lda, CudaDeviceVariable<int> nnzPerRowCol, CudaDeviceVariable<int> nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | direction that specifies whether to count non-zero elements by CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | A | array of dimensions (lda, n). |
| System.Int32 | lda | leading dimension of dense array A. |
| CudaDeviceVariable<System.Int32> | nnzPerRowCol | Output: array of size m or n containing the number of non-zero elements per row or column, respectively. |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr | Output: total number of non-zero elements in device or host memory. |
Nnz(cusparseDirection, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Int32>, ref Int32)
This routine finds the total number of non-zero elements and the number of non-zero elements per row or column in the dense matrix A.
Declaration
public void Nnz(cusparseDirection dirA, int m, int n, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> A, int lda, CudaDeviceVariable<int> nnzPerRowCol, ref int nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparseDirection | dirA | direction that specifies whether to count non-zero elements by CUSPARSE_DIRECTION_ROW or CUSPARSE_DIRECTION_COLUMN. |
| System.Int32 | m | number of rows of matrix A. |
| System.Int32 | n | number of columns of matrix A. |
| CudaSparseMatrixDescriptor | descrA | the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE. |
| CudaDeviceVariable<System.Single> | A | array of dimensions (lda, n). |
| System.Int32 | lda | leading dimension of dense array A. |
| CudaDeviceVariable<System.Int32> | nnzPerRowCol | Output: array of size m or n containing the number of non-zero elements per row or column, respectively. |
| System.Int32 | nnzTotalDevHostPtr | Output: total number of non-zero elements in device or host memory. |
Nnz_compress(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cuDoubleComplex)
This routine finds the total number of non-zero elements and the number of non-zero elements per row in a noncompressed csr matrix A.
Declaration
public void Nnz_compress(int m, CudaSparseMatrixDescriptor descr, CudaDeviceVariable<cuDoubleComplex> values, CudaDeviceVariable<int> rowPtr, CudaDeviceVariable<int> nnzPerRow, CudaDeviceVariable<int> nnzTotal, cuDoubleComplex tol)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| CudaSparseMatrixDescriptor | descr | |
| CudaDeviceVariable<cuDoubleComplex> | values | |
| CudaDeviceVariable<System.Int32> | rowPtr | |
| CudaDeviceVariable<System.Int32> | nnzPerRow | |
| CudaDeviceVariable<System.Int32> | nnzTotal | |
| cuDoubleComplex | tol |
Nnz_compress(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cuFloatComplex)
This routine finds the total number of non-zero elements and the number of non-zero elements per row in a noncompressed csr matrix A.
Declaration
public void Nnz_compress(int m, CudaSparseMatrixDescriptor descr, CudaDeviceVariable<cuFloatComplex> values, CudaDeviceVariable<int> rowPtr, CudaDeviceVariable<int> nnzPerRow, CudaDeviceVariable<int> nnzTotal, cuFloatComplex tol)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| CudaSparseMatrixDescriptor | descr | |
| CudaDeviceVariable<cuFloatComplex> | values | |
| CudaDeviceVariable<System.Int32> | rowPtr | |
| CudaDeviceVariable<System.Int32> | nnzPerRow | |
| CudaDeviceVariable<System.Int32> | nnzTotal | |
| cuFloatComplex | tol |
Nnz_compress(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Double)
This routine finds the total number of non-zero elements and the number of non-zero elements per row in a noncompressed csr matrix A.
Declaration
public void Nnz_compress(int m, CudaSparseMatrixDescriptor descr, CudaDeviceVariable<double> values, CudaDeviceVariable<int> rowPtr, CudaDeviceVariable<int> nnzPerRow, CudaDeviceVariable<int> nnzTotal, double tol)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| CudaSparseMatrixDescriptor | descr | |
| CudaDeviceVariable<System.Double> | values | |
| CudaDeviceVariable<System.Int32> | rowPtr | |
| CudaDeviceVariable<System.Int32> | nnzPerRow | |
| CudaDeviceVariable<System.Int32> | nnzTotal | |
| System.Double | tol |
Nnz_compress(Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single)
This routine finds the total number of non-zero elements and the number of non-zero elements per row in a noncompressed csr matrix A.
Declaration
public void Nnz_compress(int m, CudaSparseMatrixDescriptor descr, CudaDeviceVariable<float> values, CudaDeviceVariable<int> rowPtr, CudaDeviceVariable<int> nnzPerRow, CudaDeviceVariable<int> nnzTotal, float tol)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| CudaSparseMatrixDescriptor | descr | |
| CudaDeviceVariable<System.Single> | values | |
| CudaDeviceVariable<System.Int32> | rowPtr | |
| CudaDeviceVariable<System.Int32> | nnzPerRow | |
| CudaDeviceVariable<System.Int32> | nnzTotal | |
| System.Single | tol |
PruneCsr2csr(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, half, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
Declaration
public void PruneCsr2csr(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<half> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, half threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<half> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<half> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| half | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<half> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaDeviceVariable<System.Byte> | pBuffer |
PruneCsr2csr(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<half>, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
Declaration
public void PruneCsr2csr(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<half> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<half> threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<half> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<half> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| CudaDeviceVariable<half> | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<half> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaDeviceVariable<System.Byte> | pBuffer |
PruneCsr2csr(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
Declaration
public void PruneCsr2csr(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<double> threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Double> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| CudaDeviceVariable<System.Double> | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Double> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaDeviceVariable<System.Byte> | pBuffer |
PruneCsr2csr(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Double, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
Declaration
public void PruneCsr2csr(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, double threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Double> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| System.Double | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Double> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaDeviceVariable<System.Byte> | pBuffer |
PruneCsr2csr(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
Declaration
public void PruneCsr2csr(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<float> threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Single> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| CudaDeviceVariable<System.Single> | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Single> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaDeviceVariable<System.Byte> | pBuffer |
PruneCsr2csr(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
Declaration
public void PruneCsr2csr(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, float threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Single> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| System.Single | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Single> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaDeviceVariable<System.Byte> | pBuffer |
PruneCsr2csrBufferSizeExt(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, half, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
Description: prune sparse matrix with CSR format to another sparse matrix with CSR format
Declaration
public SizeT PruneCsr2csrBufferSizeExt(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<half> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, half threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<half> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<half> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| half | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<half> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC |
Returns
| Type | Description |
|---|---|
| SizeT |
PruneCsr2csrBufferSizeExt(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<half>, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
Description: prune sparse matrix with CSR format to another sparse matrix with CSR format
Declaration
public SizeT PruneCsr2csrBufferSizeExt(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<half> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<half> threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<half> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<half> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| CudaDeviceVariable<half> | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<half> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC |
Returns
| Type | Description |
|---|---|
| SizeT |
PruneCsr2csrBufferSizeExt(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
Description: prune sparse matrix with CSR format to another sparse matrix with CSR format
Declaration
public SizeT PruneCsr2csrBufferSizeExt(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<double> threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Double> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| CudaDeviceVariable<System.Double> | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Double> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC |
Returns
| Type | Description |
|---|---|
| SizeT |
PruneCsr2csrBufferSizeExt(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Double, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
Description: prune sparse matrix with CSR format to another sparse matrix with CSR format
Declaration
public SizeT PruneCsr2csrBufferSizeExt(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, double threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Double> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| System.Double | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Double> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC |
Returns
| Type | Description |
|---|---|
| SizeT |
PruneCsr2csrBufferSizeExt(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
Description: prune sparse matrix with CSR format to another sparse matrix with CSR format
Declaration
public SizeT PruneCsr2csrBufferSizeExt(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<float> threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Single> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| CudaDeviceVariable<System.Single> | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Single> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC |
Returns
| Type | Description |
|---|---|
| SizeT |
PruneCsr2csrBufferSizeExt(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
Description: prune sparse matrix with CSR format to another sparse matrix with CSR format
Declaration
public SizeT PruneCsr2csrBufferSizeExt(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, float threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Single> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| System.Single | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Single> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC |
Returns
| Type | Description |
|---|---|
| SizeT |
PruneCsr2csrByPercentage(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparsePruneInfo, CudaDeviceVariable<Byte>)
Declaration
public void PruneCsr2csrByPercentage(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<half> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<half> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaSparsePruneInfo info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<half> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<half> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaSparsePruneInfo | info | |
| CudaDeviceVariable<System.Byte> | pBuffer |
PruneCsr2csrByPercentage(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparsePruneInfo, CudaDeviceVariable<Byte>)
Declaration
public void PruneCsr2csrByPercentage(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaSparsePruneInfo info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Double> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Double> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaSparsePruneInfo | info | |
| CudaDeviceVariable<System.Byte> | pBuffer |
PruneCsr2csrByPercentage(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparsePruneInfo, CudaDeviceVariable<Byte>)
Declaration
public void PruneCsr2csrByPercentage(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaSparsePruneInfo info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Single> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Single> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaSparsePruneInfo | info | |
| CudaDeviceVariable<System.Byte> | pBuffer |
PruneCsr2csrByPercentageBufferSizeExt(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparsePruneInfo)
Description: prune sparse matrix to a sparse matrix with CSR format by percentage
Declaration
public SizeT PruneCsr2csrByPercentageBufferSizeExt(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<half> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<half> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaSparsePruneInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<half> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<half> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaSparsePruneInfo | info |
Returns
| Type | Description |
|---|---|
| SizeT |
PruneCsr2csrByPercentageBufferSizeExt(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparsePruneInfo)
Description: prune sparse matrix to a sparse matrix with CSR format by percentage
Declaration
public SizeT PruneCsr2csrByPercentageBufferSizeExt(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaSparsePruneInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Double> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Double> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaSparsePruneInfo | info |
Returns
| Type | Description |
|---|---|
| SizeT |
PruneCsr2csrByPercentageBufferSizeExt(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparsePruneInfo)
Description: prune sparse matrix to a sparse matrix with CSR format by percentage
Declaration
public SizeT PruneCsr2csrByPercentageBufferSizeExt(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaSparsePruneInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Single> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Single> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaSparsePruneInfo | info |
Returns
| Type | Description |
|---|---|
| SizeT |
PruneCsr2csrNnz(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, half, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
Declaration
public int PruneCsr2csrNnz(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<half> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, half threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<half> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| half | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Byte> | pBuffer |
Returns
| Type | Description |
|---|---|
| System.Int32 |
PruneCsr2csrNnz(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<half>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>, CudaDeviceVariable<Int32>)
Declaration
public void PruneCsr2csrNnz(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<half> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<half> threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<byte> pBuffer, CudaDeviceVariable<int> nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<half> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| CudaDeviceVariable<half> | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Byte> | pBuffer | |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr |
PruneCsr2csrNnz(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>, CudaDeviceVariable<Int32>)
Declaration
public void PruneCsr2csrNnz(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<double> threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<byte> pBuffer, CudaDeviceVariable<int> nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Double> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| CudaDeviceVariable<System.Double> | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Byte> | pBuffer | |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr |
PruneCsr2csrNnz(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Double, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
Declaration
public int PruneCsr2csrNnz(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, double threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Double> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| System.Double | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Byte> | pBuffer |
Returns
| Type | Description |
|---|---|
| System.Int32 |
PruneCsr2csrNnz(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>, CudaDeviceVariable<Int32>)
Declaration
public void PruneCsr2csrNnz(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<float> threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<byte> pBuffer, CudaDeviceVariable<int> nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Single> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| CudaDeviceVariable<System.Single> | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Byte> | pBuffer | |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr |
PruneCsr2csrNnz(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
Declaration
public int PruneCsr2csrNnz(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, float threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Single> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| System.Single | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Byte> | pBuffer |
Returns
| Type | Description |
|---|---|
| System.Int32 |
PruneCsr2csrNnzByPercentage(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaSparsePruneInfo, CudaDeviceVariable<Byte>)
Declaration
public int PruneCsr2csrNnzByPercentage(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<half> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaSparsePruneInfo info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<half> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaSparsePruneInfo | info | |
| CudaDeviceVariable<System.Byte> | pBuffer |
Returns
| Type | Description |
|---|---|
| System.Int32 |
PruneCsr2csrNnzByPercentage(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaSparsePruneInfo, CudaDeviceVariable<Byte>, CudaDeviceVariable<Int32>)
Declaration
public void PruneCsr2csrNnzByPercentage(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<half> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaSparsePruneInfo info, CudaDeviceVariable<byte> pBuffer, CudaDeviceVariable<int> nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<half> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaSparsePruneInfo | info | |
| CudaDeviceVariable<System.Byte> | pBuffer | |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr |
PruneCsr2csrNnzByPercentage(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaSparsePruneInfo, CudaDeviceVariable<Byte>)
Declaration
public int PruneCsr2csrNnzByPercentage(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaSparsePruneInfo info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Double> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaSparsePruneInfo | info | |
| CudaDeviceVariable<System.Byte> | pBuffer |
Returns
| Type | Description |
|---|---|
| System.Int32 |
PruneCsr2csrNnzByPercentage(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaSparsePruneInfo, CudaDeviceVariable<Byte>, CudaDeviceVariable<Int32>)
Declaration
public void PruneCsr2csrNnzByPercentage(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaSparsePruneInfo info, CudaDeviceVariable<byte> pBuffer, CudaDeviceVariable<int> nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Double> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaSparsePruneInfo | info | |
| CudaDeviceVariable<System.Byte> | pBuffer | |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr |
PruneCsr2csrNnzByPercentage(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaSparsePruneInfo, CudaDeviceVariable<Byte>)
Declaration
public int PruneCsr2csrNnzByPercentage(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaSparsePruneInfo info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Single> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaSparsePruneInfo | info | |
| CudaDeviceVariable<System.Byte> | pBuffer |
Returns
| Type | Description |
|---|---|
| System.Int32 |
PruneCsr2csrNnzByPercentage(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaSparsePruneInfo, CudaDeviceVariable<Byte>, CudaDeviceVariable<Int32>)
Declaration
public void PruneCsr2csrNnzByPercentage(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaSparsePruneInfo info, CudaDeviceVariable<byte> pBuffer, CudaDeviceVariable<int> nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| System.Int32 | nnzA | |
| CudaSparseMatrixDescriptor | descrA | |
| CudaDeviceVariable<System.Single> | csrValA | |
| CudaDeviceVariable<System.Int32> | csrRowPtrA | |
| CudaDeviceVariable<System.Int32> | csrColIndA | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaSparsePruneInfo | info | |
| CudaDeviceVariable<System.Byte> | pBuffer | |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr |
PruneDense2csr(Int32, Int32, CudaDeviceVariable<half>, Int32, half, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
Declaration
public void PruneDense2csr(int m, int n, CudaDeviceVariable<half> A, int lda, half threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<half> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<half> | A | |
| System.Int32 | lda | |
| half | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<half> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaDeviceVariable<System.Byte> | pBuffer |
PruneDense2csr(Int32, Int32, CudaDeviceVariable<half>, Int32, CudaDeviceVariable<half>, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
Declaration
public void PruneDense2csr(int m, int n, CudaDeviceVariable<half> A, int lda, CudaDeviceVariable<half> threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<half> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<half> | A | |
| System.Int32 | lda | |
| CudaDeviceVariable<half> | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<half> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaDeviceVariable<System.Byte> | pBuffer |
PruneDense2csr(Int32, Int32, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
Declaration
public void PruneDense2csr(int m, int n, CudaDeviceVariable<double> A, int lda, CudaDeviceVariable<double> threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Double> | A | |
| System.Int32 | lda | |
| CudaDeviceVariable<System.Double> | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Double> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaDeviceVariable<System.Byte> | pBuffer |
PruneDense2csr(Int32, Int32, CudaDeviceVariable<Double>, Int32, Double, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
Declaration
public void PruneDense2csr(int m, int n, CudaDeviceVariable<double> A, int lda, double threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Double> | A | |
| System.Int32 | lda | |
| System.Double | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Double> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaDeviceVariable<System.Byte> | pBuffer |
PruneDense2csr(Int32, Int32, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
Declaration
public void PruneDense2csr(int m, int n, CudaDeviceVariable<float> A, int lda, CudaDeviceVariable<float> threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Single> | A | |
| System.Int32 | lda | |
| CudaDeviceVariable<System.Single> | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Single> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaDeviceVariable<System.Byte> | pBuffer |
PruneDense2csr(Int32, Int32, CudaDeviceVariable<Single>, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
Declaration
public void PruneDense2csr(int m, int n, CudaDeviceVariable<float> A, int lda, float threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Single> | A | |
| System.Int32 | lda | |
| System.Single | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Single> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaDeviceVariable<System.Byte> | pBuffer |
PruneDense2csrBufferSize(Int32, Int32, CudaDeviceVariable<half>, Int32, half, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
Description: prune dense matrix to a sparse matrix with CSR format
Declaration
public SizeT PruneDense2csrBufferSize(int m, int n, CudaDeviceVariable<half> A, int lda, half threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<half> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<half> | A | |
| System.Int32 | lda | |
| half | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<half> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC |
Returns
| Type | Description |
|---|---|
| SizeT |
PruneDense2csrBufferSize(Int32, Int32, CudaDeviceVariable<half>, Int32, CudaDeviceVariable<half>, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
Description: prune dense matrix to a sparse matrix with CSR format
Declaration
public SizeT PruneDense2csrBufferSize(int m, int n, CudaDeviceVariable<half> A, int lda, CudaDeviceVariable<half> threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<half> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<half> | A | |
| System.Int32 | lda | |
| CudaDeviceVariable<half> | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<half> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC |
Returns
| Type | Description |
|---|---|
| SizeT |
PruneDense2csrBufferSize(Int32, Int32, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
Description: prune dense matrix to a sparse matrix with CSR format
Declaration
public SizeT PruneDense2csrBufferSize(int m, int n, CudaDeviceVariable<double> A, int lda, CudaDeviceVariable<double> threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Double> | A | |
| System.Int32 | lda | |
| CudaDeviceVariable<System.Double> | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Double> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC |
Returns
| Type | Description |
|---|---|
| SizeT |
PruneDense2csrBufferSize(Int32, Int32, CudaDeviceVariable<Double>, Int32, Double, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
Description: prune dense matrix to a sparse matrix with CSR format
Declaration
public SizeT PruneDense2csrBufferSize(int m, int n, CudaDeviceVariable<double> A, int lda, double threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Double> | A | |
| System.Int32 | lda | |
| System.Double | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Double> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC |
Returns
| Type | Description |
|---|---|
| SizeT |
PruneDense2csrBufferSize(Int32, Int32, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
Description: prune dense matrix to a sparse matrix with CSR format
Declaration
public SizeT PruneDense2csrBufferSize(int m, int n, CudaDeviceVariable<float> A, int lda, CudaDeviceVariable<float> threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Single> | A | |
| System.Int32 | lda | |
| CudaDeviceVariable<System.Single> | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Single> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC |
Returns
| Type | Description |
|---|---|
| SizeT |
PruneDense2csrBufferSize(Int32, Int32, CudaDeviceVariable<Single>, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>)
Description: prune dense matrix to a sparse matrix with CSR format
Declaration
public SizeT PruneDense2csrBufferSize(int m, int n, CudaDeviceVariable<float> A, int lda, float threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Single> | A | |
| System.Int32 | lda | |
| System.Single | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Single> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC |
Returns
| Type | Description |
|---|---|
| SizeT |
PruneDense2csrByPercentage(Int32, Int32, CudaDeviceVariable<half>, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparsePruneInfo, CudaDeviceVariable<Byte>)
Declaration
public void PruneDense2csrByPercentage(int m, int n, CudaDeviceVariable<half> A, int lda, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<half> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaSparsePruneInfo info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<half> | A | |
| System.Int32 | lda | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<half> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaSparsePruneInfo | info | |
| CudaDeviceVariable<System.Byte> | pBuffer |
PruneDense2csrByPercentage(Int32, Int32, CudaDeviceVariable<Double>, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparsePruneInfo, CudaDeviceVariable<Byte>)
Declaration
public void PruneDense2csrByPercentage(int m, int n, CudaDeviceVariable<double> A, int lda, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaSparsePruneInfo info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Double> | A | |
| System.Int32 | lda | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Double> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaSparsePruneInfo | info | |
| CudaDeviceVariable<System.Byte> | pBuffer |
PruneDense2csrByPercentage(Int32, Int32, CudaDeviceVariable<Single>, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparsePruneInfo, CudaDeviceVariable<Byte>)
Declaration
public void PruneDense2csrByPercentage(int m, int n, CudaDeviceVariable<float> A, int lda, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaSparsePruneInfo info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Single> | A | |
| System.Int32 | lda | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Single> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaSparsePruneInfo | info | |
| CudaDeviceVariable<System.Byte> | pBuffer |
PruneDense2csrByPercentageBufferSizeExt(Int32, Int32, CudaDeviceVariable<half>, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<half>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparsePruneInfo)
Description: prune dense matrix to a sparse matrix with CSR format by percentage
Declaration
public SizeT PruneDense2csrByPercentageBufferSizeExt(int m, int n, CudaDeviceVariable<half> A, int lda, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<half> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaSparsePruneInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<half> | A | |
| System.Int32 | lda | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<half> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaSparsePruneInfo | info |
Returns
| Type | Description |
|---|---|
| SizeT |
PruneDense2csrByPercentageBufferSizeExt(Int32, Int32, CudaDeviceVariable<Single>, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparsePruneInfo)
Description: prune dense matrix to a sparse matrix with CSR format by percentage
Declaration
public SizeT PruneDense2csrByPercentageBufferSizeExt(int m, int n, CudaDeviceVariable<float> A, int lda, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<float> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaSparsePruneInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Single> | A | |
| System.Int32 | lda | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Single> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaSparsePruneInfo | info |
Returns
| Type | Description |
|---|---|
| SizeT |
PruneDense2csrByPercentageBufferSizeExtt(Int32, Int32, CudaDeviceVariable<Double>, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaSparsePruneInfo)
Description: prune dense matrix to a sparse matrix with CSR format by percentage
Declaration
public SizeT PruneDense2csrByPercentageBufferSizeExtt(int m, int n, CudaDeviceVariable<double> A, int lda, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<double> csrValC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<int> csrColIndC, CudaSparsePruneInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Double> | A | |
| System.Int32 | lda | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Double> | csrValC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Int32> | csrColIndC | |
| CudaSparsePruneInfo | info |
Returns
| Type | Description |
|---|---|
| SizeT |
PruneDense2csrNnz(Int32, Int32, CudaDeviceVariable<half>, Int32, half, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
Declaration
public int PruneDense2csrNnz(int m, int n, CudaDeviceVariable<half> A, int lda, half threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<half> | A | |
| System.Int32 | lda | |
| half | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Byte> | pBuffer |
Returns
| Type | Description |
|---|---|
| System.Int32 |
PruneDense2csrNnz(Int32, Int32, CudaDeviceVariable<half>, Int32, CudaDeviceVariable<half>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>, CudaDeviceVariable<Int32>)
Declaration
public void PruneDense2csrNnz(int m, int n, CudaDeviceVariable<half> A, int lda, CudaDeviceVariable<half> threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<byte> pBuffer, CudaDeviceVariable<int> nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<half> | A | |
| System.Int32 | lda | |
| CudaDeviceVariable<half> | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Byte> | pBuffer | |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr |
PruneDense2csrNnz(Int32, Int32, CudaDeviceVariable<Double>, Int32, CudaDeviceVariable<Double>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>, CudaDeviceVariable<Int32>)
Declaration
public void PruneDense2csrNnz(int m, int n, CudaDeviceVariable<double> A, int lda, CudaDeviceVariable<double> threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<byte> pBuffer, CudaDeviceVariable<int> nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Double> | A | |
| System.Int32 | lda | |
| CudaDeviceVariable<System.Double> | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Byte> | pBuffer | |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr |
PruneDense2csrNnz(Int32, Int32, CudaDeviceVariable<Double>, Int32, Double, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
Declaration
public int PruneDense2csrNnz(int m, int n, CudaDeviceVariable<double> A, int lda, double threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Double> | A | |
| System.Int32 | lda | |
| System.Double | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Byte> | pBuffer |
Returns
| Type | Description |
|---|---|
| System.Int32 |
PruneDense2csrNnz(Int32, Int32, CudaDeviceVariable<Single>, Int32, CudaDeviceVariable<Single>, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>, CudaDeviceVariable<Int32>)
Declaration
public void PruneDense2csrNnz(int m, int n, CudaDeviceVariable<float> A, int lda, CudaDeviceVariable<float> threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<byte> pBuffer, CudaDeviceVariable<int> nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Single> | A | |
| System.Int32 | lda | |
| CudaDeviceVariable<System.Single> | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Byte> | pBuffer | |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr |
PruneDense2csrNnz(Int32, Int32, CudaDeviceVariable<Single>, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Byte>)
Declaration
public int PruneDense2csrNnz(int m, int n, CudaDeviceVariable<float> A, int lda, float threshold, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Single> | A | |
| System.Int32 | lda | |
| System.Single | threshold | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaDeviceVariable<System.Byte> | pBuffer |
Returns
| Type | Description |
|---|---|
| System.Int32 |
PruneDense2csrNnzByPercentage(Int32, Int32, CudaDeviceVariable<half>, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaSparsePruneInfo, CudaDeviceVariable<Byte>)
Declaration
public int PruneDense2csrNnzByPercentage(int m, int n, CudaDeviceVariable<half> A, int lda, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaSparsePruneInfo info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<half> | A | |
| System.Int32 | lda | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaSparsePruneInfo | info | |
| CudaDeviceVariable<System.Byte> | pBuffer |
Returns
| Type | Description |
|---|---|
| System.Int32 |
PruneDense2csrNnzByPercentage(Int32, Int32, CudaDeviceVariable<half>, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaSparsePruneInfo, CudaDeviceVariable<Byte>, CudaDeviceVariable<Int32>)
Declaration
public void PruneDense2csrNnzByPercentage(int m, int n, CudaDeviceVariable<half> A, int lda, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaSparsePruneInfo info, CudaDeviceVariable<byte> pBuffer, CudaDeviceVariable<int> nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<half> | A | |
| System.Int32 | lda | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaSparsePruneInfo | info | |
| CudaDeviceVariable<System.Byte> | pBuffer | |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr |
PruneDense2csrNnzByPercentage(Int32, Int32, CudaDeviceVariable<Double>, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaSparsePruneInfo, CudaDeviceVariable<Byte>)
Declaration
public int PruneDense2csrNnzByPercentage(int m, int n, CudaDeviceVariable<double> A, int lda, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaSparsePruneInfo info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Double> | A | |
| System.Int32 | lda | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaSparsePruneInfo | info | |
| CudaDeviceVariable<System.Byte> | pBuffer |
Returns
| Type | Description |
|---|---|
| System.Int32 |
PruneDense2csrNnzByPercentage(Int32, Int32, CudaDeviceVariable<Double>, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaSparsePruneInfo, CudaDeviceVariable<Byte>, CudaDeviceVariable<Int32>)
Declaration
public void PruneDense2csrNnzByPercentage(int m, int n, CudaDeviceVariable<double> A, int lda, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaSparsePruneInfo info, CudaDeviceVariable<byte> pBuffer, CudaDeviceVariable<int> nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Double> | A | |
| System.Int32 | lda | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaSparsePruneInfo | info | |
| CudaDeviceVariable<System.Byte> | pBuffer | |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr |
PruneDense2csrNnzByPercentage(Int32, Int32, CudaDeviceVariable<Single>, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaSparsePruneInfo, CudaDeviceVariable<Byte>)
Declaration
public int PruneDense2csrNnzByPercentage(int m, int n, CudaDeviceVariable<float> A, int lda, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaSparsePruneInfo info, CudaDeviceVariable<byte> pBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Single> | A | |
| System.Int32 | lda | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaSparsePruneInfo | info | |
| CudaDeviceVariable<System.Byte> | pBuffer |
Returns
| Type | Description |
|---|---|
| System.Int32 |
PruneDense2csrNnzByPercentage(Int32, Int32, CudaDeviceVariable<Single>, Int32, Single, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaSparsePruneInfo, CudaDeviceVariable<Byte>, CudaDeviceVariable<Int32>)
Declaration
public void PruneDense2csrNnzByPercentage(int m, int n, CudaDeviceVariable<float> A, int lda, float percentage, CudaSparseMatrixDescriptor descrC, CudaDeviceVariable<int> csrRowPtrC, CudaSparsePruneInfo info, CudaDeviceVariable<byte> pBuffer, CudaDeviceVariable<int> nnzTotalDevHostPtr)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | m | |
| System.Int32 | n | |
| CudaDeviceVariable<System.Single> | A | |
| System.Int32 | lda | |
| System.Single | percentage | |
| CudaSparseMatrixDescriptor | descrC | |
| CudaDeviceVariable<System.Int32> | csrRowPtrC | |
| CudaSparsePruneInfo | info | |
| CudaDeviceVariable<System.Byte> | pBuffer | |
| CudaDeviceVariable<System.Int32> | nnzTotalDevHostPtr |
Roti(CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, cusparseIndexBase)
Givens rotation, where c and s are cosine and sine, x and y are sparse and dense vectors, respectively.
Declaration
public void Roti(CudaDeviceVariable<double> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<double> y, CudaDeviceVariable<double> c, CudaDeviceVariable<double> s, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<System.Double> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Double> | y | vector in dense format. |
| CudaDeviceVariable<System.Double> | c | cosine element of the rotation matrix. |
| CudaDeviceVariable<System.Double> | s | sine element of the rotation matrix. |
| cusparseIndexBase | idxBase | Index base. |
Roti(CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, Double, Double, cusparseIndexBase)
Givens rotation, where c and s are cosine and sine, x and y are sparse and dense vectors, respectively.
Declaration
public void Roti(CudaDeviceVariable<double> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<double> y, double c, double s, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<System.Double> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Double> | y | vector in dense format. |
| System.Double | c | cosine element of the rotation matrix. |
| System.Double | s | sine element of the rotation matrix. |
| cusparseIndexBase | idxBase | Index base. |
Roti(CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, cusparseIndexBase)
Givens rotation, where c and s are cosine and sine, x and y are sparse and dense vectors, respectively.
Declaration
public void Roti(CudaDeviceVariable<float> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<float> y, CudaDeviceVariable<float> c, CudaDeviceVariable<float> s, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<System.Single> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Single> | y | vector in dense format. |
| CudaDeviceVariable<System.Single> | c | cosine element of the rotation matrix. |
| CudaDeviceVariable<System.Single> | s | sine element of the rotation matrix. |
| cusparseIndexBase | idxBase | Index base. |
Roti(CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, Single, Single, cusparseIndexBase)
Givens rotation, where c and s are cosine and sine, x and y are sparse and dense vectors, respectively.
Declaration
public void Roti(CudaDeviceVariable<float> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<float> y, float c, float s, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<System.Single> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Single> | y | vector in dense format. |
| System.Single | c | cosine element of the rotation matrix. |
| System.Single | s | sine element of the rotation matrix. |
| cusparseIndexBase | idxBase | Index base. |
Sctr(CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, cusparseIndexBase)
Scatter of elements of the sparse vector x into dense vector y.
Declaration
public void Sctr(CudaDeviceVariable<cuDoubleComplex> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<cuDoubleComplex> y, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<cuDoubleComplex> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuDoubleComplex> | y | vector in dense format. |
| cusparseIndexBase | idxBase | Index base. |
Sctr(CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, cusparseIndexBase)
Scatter of elements of the sparse vector x into dense vector y.
Declaration
public void Sctr(CudaDeviceVariable<cuFloatComplex> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<cuFloatComplex> y, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<cuFloatComplex> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<cuFloatComplex> | y | vector in dense format. |
| cusparseIndexBase | idxBase | Index base. |
Sctr(CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, cusparseIndexBase)
Scatter of elements of the sparse vector x into dense vector y.
Declaration
public void Sctr(CudaDeviceVariable<double> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<double> y, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<System.Double> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Double> | y | vector in dense format. |
| cusparseIndexBase | idxBase | Index base. |
Sctr(CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, cusparseIndexBase)
Scatter of elements of the sparse vector x into dense vector y.
Declaration
public void Sctr(CudaDeviceVariable<float> xVal, CudaDeviceVariable<int> xInd, CudaDeviceVariable<float> y, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<System.Single> | xVal | vector with nnz non-zero values of vector x. |
| CudaDeviceVariable<System.Int32> | xInd | integer vector with nnz indices of the non-zero values of vector x. Length of xInd gives the number nzz passed to CUSPARSE. |
| CudaDeviceVariable<System.Single> | y | vector in dense format. |
| cusparseIndexBase | idxBase | Index base. |
SetPointerMode(cusparsePointerMode)
Sets the pointer mode for scalar values (host or device pointer)
Declaration
public void SetPointerMode(cusparsePointerMode pointerMode)
Parameters
| Type | Name | Description |
|---|---|---|
| cusparsePointerMode | pointerMode |
SetStream(CUstream)
Sets the cuda stream to use
Declaration
public void SetStream(CUstream stream)
Parameters
| Type | Name | Description |
|---|---|---|
| CUstream | stream | A valid CUDA stream created with cudaStreamCreate() (or 0 for the default stream) |
Xbsrsm2ZeroPivot(CudaSparseBsrsm2Info, CudaDeviceVariable<Int32>)
If the returned error code is CUSPARSE_STATUS_ZERO_PIVOT, position=j means A(j,j) is either a structural zero or a numerical zero (singular block). Otherwise position=-1.
The position can be 0-base or 1-base, the same as the matrix. Function cusparseXbsrsm2_zeroPivot() is a blocking call. It calls cudaDeviceSynchronize() to make sure all previous kernels are done.
The position can be in the host memory or device memory. The user can set the proper mode with cusparseSetPointerMode().
Declaration
public bool Xbsrsm2ZeroPivot(CudaSparseBsrsm2Info info, CudaDeviceVariable<int> position)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseBsrsm2Info | info | info contains a structural zero or a numerical zero if the user already called bsrsm2_analysis() or bsrsm2_solve(). |
| CudaDeviceVariable<System.Int32> | position | if no structural or numerical zero, position is -1; otherwise, if A(j,j) is missing or U(j,j) is zero, position=j. |
Returns
| Type | Description |
|---|---|
| System.Boolean | If true, position=j means A(j,j) has either a structural zero or a numerical zero; otherwise, position=-1. |
Xbsrsm2ZeroPivot(CudaSparseBsrsm2Info, ref Int32)
If the returned error code is CUSPARSE_STATUS_ZERO_PIVOT, position=j means A(j,j) is either a structural zero or a numerical zero (singular block). Otherwise position=-1.
The position can be 0-base or 1-base, the same as the matrix. Function cusparseXbsrsm2_zeroPivot() is a blocking call. It calls cudaDeviceSynchronize() to make sure all previous kernels are done.
The position can be in the host memory or device memory. The user can set the proper mode with cusparseSetPointerMode().
Declaration
public bool Xbsrsm2ZeroPivot(CudaSparseBsrsm2Info info, ref int position)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaSparseBsrsm2Info | info | info contains a structural zero or a numerical zero if the user already called bsrsm2_analysis() or bsrsm2_solve(). |
| System.Int32 | position | if no structural or numerical zero, position is -1; otherwise, if A(j,j) is missing or U(j,j) is zero, position=j. |
Returns
| Type | Description |
|---|---|
| System.Boolean | If true, position=j means A(j,j) has either a structural zero or a numerical zero; otherwise, position=-1. |
Xcoo2csr(CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<Int32>, cusparseIndexBase)
This routine compresses the indecis of rows or columns. It can be interpreted as a conversion from COO to CSR sparse storage format.
Declaration
public void Xcoo2csr(CudaDeviceVariable<int> cooRowInd, int m, CudaDeviceVariable<int> csrRowPtr, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<System.Int32> | cooRowInd | integer array of nnz uncompressed row indices. Length of cooRowInd gives the number nzz passed to CUSPARSE. |
| System.Int32 | m | number of rows of matrix A. |
| CudaDeviceVariable<System.Int32> | csrRowPtr | Output: integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| cusparseIndexBase | idxBase | Index base. |
Xcsr2coo(CudaDeviceVariable<Int32>, Int32, CudaDeviceVariable<Int32>, cusparseIndexBase)
This routine uncompresses the indecis of rows or columns. It can be interpreted as a conversion from CSR to COO sparse storage format.
Declaration
public void Xcsr2coo(CudaDeviceVariable<int> csrRowPtr, int m, CudaDeviceVariable<int> cooRowInd, cusparseIndexBase idxBase)
Parameters
| Type | Name | Description |
|---|---|---|
| CudaDeviceVariable<System.Int32> | csrRowPtr | Output: integer array of m + 1 elements that contains the start of every row and the end of the last row plus one. |
| System.Int32 | m | number of rows of matrix A. |
| CudaDeviceVariable<System.Int32> | cooRowInd | integer array of nnz uncompressed row indices. Length of cooRowInd gives the number nzz passed to CUSPARSE. |
| cusparseIndexBase | idxBase | Index base. |