[petsc-users] question on matrix preallocation

Barry Smith bsmith at petsc.dev
Thu Jul 11 15:04:37 CDT 2024


 By default, if you preallocate but not enough, it will automatically error unless you call MatSetOption(mat,MAT_NEW_NONZERO_ALLOCATION_ERR,PETSC_FALSE);


> On Jul 11, 2024, at 4:02 PM, Michael Povolotskyi <mpovolot at gmail.com> wrote:
> 
> Thank you,
> 
> let me clarify my question.
> 
> Imagine that I have a sparse matrix, and the number of non zero entries that I specified is too small.
> 
> I know that I can insert values in it but it will be slow.
> 
> I remember there was a way to make PETSC to throw an error if a number of non zero elements per row was bigger that was preallocated. Then I could fix my algorithm. Is this functionality available with the current version?
> 
> Michael.
> 
> On 7/11/2024 3:55 PM, Barry Smith wrote:
>> 
>>   MatGetInfo() is the programmatic interface used to get this information.  You can also run a proggram with -info and grep for malloc.
>> 
>>   Barry
>> 
>> 
>>> On Jul 11, 2024, at 1:55 PM, Michael Povolotskyi <mpovolot at gmail.com> <mailto:mpovolot at gmail.com> wrote:
>>> 
>>> This Message Is From an External Sender
>>> This message came from outside your organization.
>>> Hello,
>>> 
>>> is there an option in PETSC that allows to check at run time if a sparse 
>>> matrix has been preallocated correctly? I remember there was something 
>>> like that is the older versions, but cannot find it now.
>>> 
>>> The goal is to get rid of any possible time overhead due to dynamic 
>>> preallocation.
>>> 
>>> Thank you,
>>> 
>>> Michael.
>>> 
>>> 
>> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20240711/21cf2f00/attachment-0001.html>


More information about the petsc-users mailing list