MatPreallocateBegin#
Begins the block of code that will count the number of nonzeros per row in a matrix providing the data that one can use to correctly preallocate the matrix.
Synopsis#
#include <petscmat.h>
PetscErrorCode MatPreallocateBegin(MPI_Comm comm, PetscInt nrows, PetscInt ncols, PetscInt *dnz, PetscInt *onz)
Collective
Input Parameters#
comm - the communicator that will share the eventually allocated matrix
nrows - the number of LOCAL rows in the matrix
ncols - the number of LOCAL columns in the matrix
Output Parameters#
dnz - the array that will be passed to the matrix preallocation routines
onz - the other array passed to the matrix preallocation routines
(since v3.19)
Notes#
This routine is no longer needed since assembling matrices without explicit preallocation will not be slower than the use of this routine
This is a macro that handles its own error checking, it does not return an error code.
Do not malloc or free dnz
and onz
, that is handled internally by these routines
Developer Note#
This is a MACRO, not a function, because it has a leading { that is closed by PetscPreallocateFinalize()
.
See Also#
Matrices, MatPreallocateEnd()
, MatPreallocateSet()
, MatPreallocateSymmetricSetBlock()
, MatPreallocateSetLocal()
,
MatPreallocateSymmetricSetLocalBlock()
Level#
deprecated
Location#
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages