petsc-3.12.5 2020-03-29
Report Typos and Errors

MatPreallocateInitialize

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 MatPreallocateInitialize(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

Notes

See Users-Manual: Chapter 14 Hints for Performance Tuning for more details.

Do not malloc or free dnz and onz, that is handled internally by these routines

This is a MACRO not a function because it has a leading { that is closed by PetscPreallocateFinalize().

See Also

MatPreallocateFinalize(), MatPreallocateSet(), MatPreallocateSymmetricSetBlock(), MatPreallocateSetLocal(),
MatPreallocateSymmetricSetLocalBlock()

Level

intermediate

Location

src/mat/../../include/petscmat.h
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages