[petsc-dev] AOCreateBasic vs AOCreateMapping
Hapla Vaclav
vaclav.hapla at erdw.ethz.ch
Tue Aug 28 06:41:55 CDT 2018
Thanks Barry, now I see.
Nevertheless, I still think that AOMAPPING is not properly implemented as a specific AO type. There's even no AOType set in AOCreateMapping(). It would be also better to have AOCreate_Mapping() and allow the usual workflow AOCreate-AOSetType-AOSetIS-AOSetUp-AOPetscToApplicationIS.
Even with AOBASIC, one has to call AOSetIS() before AOSetType(), otherwise it crashes - this would be also solved by introducing AOSetUp().
I will write it all down into a BB issue and hopefully return to fix it at some point.
Vaclav
> 27. 8. 2018 v 19:03, Smith, Barry F. <bsmith at mcs.anl.gov>:
>
>
> From the manual page
>
> Notes:
> the arrays myapp and mypetsc need NOT contain the all the integers 0 to napp-1, that is there CAN be "holes" in the indices.
> Use AOCreateBasic() or AOCreateBasicIS() if they do not have holes for better performance.
>
> so they are two different things. Mapping is more general but could be much slower than basic (when basic works).
>
> Barry
>
>
>> On Aug 27, 2018, at 10:11 AM, Hapla Vaclav <vaclav.hapla at erdw.ethz.ch> wrote:
>>
>> Hello
>>
>> I don't understand the difference between these two (and AOCreate{Basic,Mapping}IS). They do the same according to docs. My guess would be the latter is obsolete, dating back to before multiple AOTypes were introduced?
>>
>> Maybe just AOMappingHas{Application,Petsc}Index() need to be renamed/edited to AOBasicHas{Application,Petsc}Index(), and then AOCreateMapping{,IS} could be removed?
>>
>> Cheers
>>
>> Vaclav
>
More information about the petsc-dev
mailing list