MatCreateMPIAIJCRL#
Creates a sparse matrix of type MATMPIAIJCRL
. This type inherits from MATAIJ
, but stores some additional information that is used to allow better vectorization of the matrix-vector product. At the cost of increased storage, the AIJ formatted matrix can be copied to a format in which pieces of the matrix are stored in ELLPACK format, allowing the vectorized matrix multiply routine to use stride-1 memory accesses.
Synopsis#
PetscErrorCode MatCreateMPIAIJCRL(MPI_Comm comm, PetscInt m, PetscInt n, PetscInt nz, const PetscInt nnz[], PetscInt onz, const PetscInt onnz[], Mat *A)
Collective
Input Parameters#
comm - MPI communicator, set to
PETSC_COMM_SELF
m - number of rows
n - number of columns
nz - number of nonzeros per row (same for all rows), for the “diagonal” submatrix
nnz - array containing the number of nonzeros in the various rows (possibly different for each row) or
NULL
, for the “diagonal” submatrixonz - number of nonzeros per row (same for all rows), for the “off-diagonal” submatrix
onnz - array containing the number of nonzeros in the various rows (possibly different for each row) or
NULL
, for the “off-diagonal” submatrix
Output Parameter#
A - the matrix
Note#
If nnz
is given then nz
is ignored
See Also#
Matrices, Mat
, Sparse Matrix Creation, MATAIJ
, MATAIJSELL
, MATAIJPERM
, MATAIJMKL
, MatCreate()
, MatCreateMPIAIJPERM()
, MatSetValues()
Level#
intermediate
Location#
src/mat/impls/aij/mpi/crl/mcrl.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages