[petsc-dev] MPI_Attr_get test fails

Jed Brown jed at jedbrown.org
Fri Feb 9 17:22:07 CST 2018


Mark Adams <mfadams at lbl.gov> writes:

> I get an error in PetscCommGetNewTag. So I copied the test to may main and
> I get the same problem. So this code fails:
>
> int main( int argc, char **args )
> {
>   PetscErrorCode   ierr;
>   ierr = PetscInitialize( &argc, &args, "./.petscrc", NULL );CHKERRQ(ierr);
>   { // debug
>     PetscCommCounter *counter;
>     PetscMPIInt      flg;
>     ierr =
> MPI_Attr_get(PETSC_COMM_WORLD,Petsc_Counter_keyval,&counter,&flg);CHKERRQ(ierr);
>     if (!flg) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_ARG_CORRUPT,"Bad MPI
> communicator supplied ???????????????");
>   }
>
> Any ideas?

Why do you think there would be a value on PETSC_COMM_WORLD (an outer
comm)?  Use PetscCommDuplicate() to get an inner comm or use the
communicator on a PETSc object.


More information about the petsc-dev mailing list