PETSc creates a duplicate of the communicator during object creation. https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/PetscCommDuplicate.html
Jose > El 22 abr 2020, a las 8:40, Marius Buerkle <[email protected]> escribió: > > Hi Dave, > > I want to use it in Fortran if possible. But I tried both C and Fortran just > to see if it works in general. I am using MPICH 3.3.2. I attached the MWE for > C and Fortran with the output I get. > > Marius > > > > > > Hi, > > What is PetscObjectGetComm expected to return? > > As Patrick said, it returns the communicator associated with the petsc object. > > I thought it would give the MPI communicator the object lives on. So if I > create A matrix on PETSC_COMM_WORLD a call of PetscObjectGetComm for A it > would return PETSC_COMM_WORLD? But it seems to return something else, and > while most of the nodes return a similar communicator some are giving a > different one. > > How are you actually comparing the communicators (send code snippet)? Which > MPI implementation are you using? And when are comparing comms is the > comparison code written in C it FORTRAN? > > > That said, is there a way to get the MPI communicator a matrix lives on? > > You are using the correct function. There is a macro as well but it’s best to > use the function. > > Thanks, > Dave > > > > > Best, > Marius > <test_comm.tar.gz>
