Dynamic allocation of Non zeros?
hzhang at mcs.anl.gov
Thu Nov 1 09:32:31 CDT 2007
On Thu, 1 Nov 2007, Zhifeng Sheng wrote:
> Dear all
> It is always not easy to determine the number of nonzeros in a row without
> any cost.
> I wonder if I can make dynamic allocation, for instance, if one found the
> nonzeros of a row overflow the pre-allocated space, then the space shall be
> This may waste some memory but it may not be that bad. Or maybe this is
> already done in Petsc?
This is implemented in petsc, and is the reasons that MatAssembly
may become extremely slow when user does not preallocate memory.
> Could please tell what happens if I assign the nozero number in rows to be
> zeros and let the programme fills in the nonzeros ?
It would be better that you assign a max nozero number than zero
to reduce memory malloc.
> Best regards
> Zhifeng Sheng
More information about the petsc-users