[petsc-dev] [petsc-users] MatPreallocatorPreallocate segfault with PETSC 3.16
Jed Brown
jed at jedbrown.org
Tue Feb 1 09:33:36 CST 2022
Patrick Sanan <patrick.sanan at gmail.com> writes:
> Am Di., 1. Feb. 2022 um 16:20 Uhr schrieb Jed Brown <jed at jedbrown.org>:
>
>> Patrick Sanan <patrick.sanan at gmail.com> writes:
>>
>> > Sorry about the delay on this. I can reproduce.
>> >
>> > This regression appears to be a result of this optimization:
>> > https://gitlab.com/petsc/petsc/-/merge_requests/4273
>>
>> Thanks for tracking this down. Is there a reason to prefer preallocating
>> twice
>>
>> ierr =
>> MatPreallocatorPreallocate(preallocator,PETSC_TRUE,A);CHKERRQ(ierr);
>> ierr =
>> MatPreallocatorPreallocate(preallocator,PETSC_TRUE,A_duplicate);CHKERRQ(ierr);
>>
>> versus using MatDuplicate() or MatConvert()?
>>
>
> Maybe if your preallocation is an overestimate for each of two different
> post-assembly non-zero structures in A and A_duplicate?
Even then, why not preallocate A and duplicate immediately, before compressing out zeros?
More information about the petsc-dev
mailing list