[petsc-users] MatCompositeMerge + MatCreateRedundantMatrix

Matthew Knepley knepley at gmail.com
Tue Feb 19 19:44:26 CST 2019


On Tue, Feb 19, 2019 at 8:42 PM Marius Buerkle <mbuerkle at web.de> wrote:

> ok, so it seems there is no straight forward way to transfer data between
> PETSc matrices on different subcomms. Probably doing it by "hand"
> extracting the matricies on the subcomms create a MPI_INTERCOMM transfering
> the data to PETSC_COMM_WORLD and assembling them in a new PETSc matrix
> would be possible, right?
>

That sounds too complicated. Why not just reverse
MPICreateSubMatricesMPI()? Meaning make it collective on the whole big
communicator, so that you can swap out all the subcommunicator for the
aggregation call, just like we do in that function.
Then its really just a matter of reversing the communication call.

   Matt

>
> On Tue, Feb 19, 2019 at 7:12 PM Marius Buerkle <mbuerkle at web.de> wrote:
>
>> I see. This would work if the matrices are on different subcommumicators
>> ? Is it possible to add this functionality ?
>>
>
> Hmm, no. That is specialized to serial matrices. You need the inverse of
> MatCreateSubMatricesMPI().
>
>   Thanks,
>
>      Matt
>
>
>> marius
>>
>>
>> You basically need the inverse of MatCreateSubmatrices(). I do not think
>> we have that right now, but it could probably be done without too much
>> trouble by looking at that code.
>>
>>   Thanks,
>>
>>      Matt
>>
>> On Tue, Feb 19, 2019 at 6:15 AM Marius Buerkle via petsc-users <
>> petsc-users at mcs.anl.gov> wrote:
>>
>>> Hi !
>>>
>>> Is there some way to combine MatCompositeMerge
>>> with MatCreateRedundantMatrix? I basically want to create copies of a
>>> matrix from PETSC_COMM_WORLD to subcommunicators, do some work on each
>>> subcommunicator and than gather the results back to PETSC_COMM_WORLD,
>>> namely  I want to sum the  the invidual matrices from the subcommunicatos
>>> component wise and get the resulting matrix on PETSC_COMM_WORLD. Is this
>>> somehow possible without going through all the hassle of using MPI
>>> directly?
>>>
>>> marius
>>>
>>
>>
>> --
>> What most experimenters take for granted before they begin their
>> experiments is infinitely more interesting than any results to which their
>> experiments lead.
>> -- Norbert Wiener
>>
>> https://www.cse.buffalo.edu/~knepley/
>> <http://www.cse.buffalo.edu/~knepley/>
>>
>
>
> --
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which their
> experiments lead.
> -- Norbert Wiener
>
> https://www.cse.buffalo.edu/~knepley/
> <http://www.cse.buffalo.edu/~knepley/>
>


-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20190219/369eff13/attachment-0001.html>


More information about the petsc-users mailing list