[petsc-users] PetscObjectGetComm

Jose E. Roman jroman at dsic.upv.es
Wed Apr 22 01:47:47 CDT 2020


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 <mbuerkle at web.de> 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>



More information about the petsc-users mailing list