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 <mpovo...@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 <mpovo...@gmail.com> 
>>> <mailto:mpovo...@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.
>>> 
>>> 
>> 

Reply via email to