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?
 
 
On Tue, Feb 19, 2019 at 7:12 PM Marius Buerkle <[email protected]> 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 <[email protected]> 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
 
 
 
--
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
 

Reply via email to