[petsc-users] question on matrix preallocation
Michael Povolotskyi
mpovolot at gmail.com
Thu Jul 11 16:15:07 CDT 2024
Thanks a lot, I'm using petsc since 2004
On 7/11/2024 5:09 PM, Barry Smith wrote:
>
> The default behavior previously was the flip of the current
> behavior. By the way, we also now have much better performance if you
> do not preallocate (not as good as with perfect preallocation, but
> much better than in ancient history; you simply do not preallocate to
> get this behavior).
>
> Barry
>
>
>> On Jul 11, 2024, at 4:51 PM, Michael Povolotskyi <mpovolot at gmail.com>
>> wrote:
>>
>> 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/94679308/attachment-0001.html>
More information about the petsc-users
mailing list