diff --git a/base/modules/penv/psi_penv_mod.F90 b/base/modules/penv/psi_penv_mod.F90 index b9555a97..e51a61d8 100644 --- a/base/modules/penv/psi_penv_mod.F90 +++ b/base/modules/penv/psi_penv_mod.F90 @@ -870,7 +870,8 @@ contains include 'mpif.h' #endif type(psb_ctxt_type), intent(out) :: ictxt - integer(psb_mpk_), intent(in), optional :: np, basectxt, ids(:) + type(psb_ctxt_type), intent(in), optional :: basectxt + integer(psb_mpk_), intent(in), optional :: np, ids(:) integer(psb_mpk_) :: i, isnullcomm, icomm integer(psb_mpk_), allocatable :: iids(:) @@ -898,8 +899,12 @@ contains end if end if - if (present(basectxt)) then - basecomm = basectxt + if (present(basectxt)) then + if (allocated(basectxt%ctxt)) then + basecomm = basectxt%ctxt + else + basecomm = mpi_comm_world + end if else basecomm = mpi_comm_world end if diff --git a/cbind/test/pargen/ppdec.c b/cbind/test/pargen/ppdec.c index 986450c7..eb0ecff5 100644 --- a/cbind/test/pargen/ppdec.c +++ b/cbind/test/pargen/ppdec.c @@ -242,8 +242,8 @@ int main(int argc, char *argv[]) ictxt = psb_c_init(); psb_c_info(ictxt,&iam,&np); fprintf(stdout,"Initialization: am %d of %d\n",iam,np); - fflush(stdout); + psb_c_barrier(ictxt); if (iam == 0) { fgets(buffer,LINEBUFSIZE,stdin); @@ -278,7 +278,7 @@ int main(int argc, char *argv[]) fprintf(stderr,"%d Check on received: methd %s ptype %s afmt %s\n", iam,methd,ptype,afmt); - + fflush(stderr); psb_c_barrier(ictxt); cdh=psb_c_new_descriptor(); diff --git a/cbind/test/pargen/runs/ppde.inp b/cbind/test/pargen/runs/ppde.inp index e0162591..d16c607f 100644 --- a/cbind/test/pargen/runs/ppde.inp +++ b/cbind/test/pargen/runs/ppde.inp @@ -2,7 +2,7 @@ BICGSTAB Iterative method BICGSTAB CGS BICG BICGSTABL RGMRES BJAC Preconditioner NONE DIAG BJAC CSR A Storage format CSR COO -100 Domain size (acutal system is this**3) +080 Domain size (acutal system is this**3) 1 Stopping criterion 80 MAXIT 01 ITRACE