[petsc-users] question on matrix preallocation

Michael Povolotskyi mpovolot at gmail.com
Thu Jul 11 15:51:58 CDT 2024


Thanks a lot.

Is this a new feature? It seems to me that 10 years ago the default 
behavior was different.

Michael.

On 7/11/2024 4:04 PM, Barry Smith wrote:
>
>  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> 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/9e6f7f6f/attachment-0001.html>


More information about the petsc-users mailing list