[petsc-dev] Branches with additional features

Pierre Jolivet Pierre.Jolivet at enseeiht.fr
Tue May 30 03:46:27 CDT 2017


Thank you very much. One last thing: with VecCreateMPIWithArray, if I 
pass a NULL pointer for the array of values, then nothing is done and I 
need to use VecPlaceArray/VecResetArray.
With MatCreateDense, if I pass a NULL pointer for the array of values, 
then PETSc allocates the memory. Why is there such a difference? Is 
there a way to create a dense matrix with no storage attached to it 
(that will of course be then set via 
MatDensePlaceArray/MatDenseResetArray)?

Thanks,
Pierre

On Mon, 29 May 2017 19:45:27 -0500, Barry Smith wrote:
> I have added MatDensePlaceArray() and MatDenseResetArray() in
> 
> https://bitbucket.org/petsc/petsc/branch/barry/feature-matdenseplacearray
>
>    Barry
>
>> On May 29, 2017, at 3:46 PM, Pierre Jolivet 
>> <pierre.jolivet at enseeiht.fr> wrote:
>>
>>
>>> On 29 May 2017, at 22:20, Jed Brown <jed at jedbrown.org> wrote:
>>>
>>>> That makes perfect sense (assuming I'm not wrong about the
>>>> MatAssemblyBegin/MatAssemblyEnd). MatSetUpMultiply_MPIDense would 
>>>> still
>>>> be called at each iteration but I doubt this is too costly.
>>>
>>> It creates a VecScatter so it isn't nothing (in terms of parallel
>>> semantics), but I'd like to see profiling data before chasing this
>>> around.
>>
>> Sure, I'll use that and will look out for any occurrence of 
>> "MatDensePlaceArray" (or stuff like that) in the logs, in case it is 
>> implemented.
>> Thanks!




More information about the petsc-dev mailing list