<div dir="ltr">Dear PETSc --<div><br></div><div>Now that PetscGlobalSum() and related are gone, I am exposed to MPI_Allreduce(), which is fine.</div><div><br></div><div>PETSc defines some MPIU_ data types, apparently for portability.  But runs with MPIU_INT (option 1 below) break for me on one machine; this seems to be about the petsc configuration.  I have fixed this by using option 3 below.</div><div><br></div><div>What is the most portable of these three, or is there yet a more portable way?:</div><div><br></div><div><div>option 1. full use of MPIU_ types and ops:<br clear="all"></div><div><div><div><br class="">PetscReal     x, xloc;<br></div><div>PetscInt        n, nloc;</div><div>MPI_Allreduce(&xloc,&x,1,MPIU_REAL,MPIU_SUM,comm);</div><div>MPI_Allreduce(&nloc,&n,1,MPIU_INT,MPIU_SUM,comm);</div></div></div><div><br></div><div>option 2. use of MPIU_REAL but not MPIU_INT:<br clear="all"></div><div><div><div><br class="">PetscReal     x, xloc;<br></div><div>PetscInt        n, nloc;</div><div>MPI_Allreduce(&xloc,&x,1,MPIU_REAL,MPIU_SUM,comm);</div><div>MPI_Allreduce(&nloc,&n,1,MPI_INT,MPI_SUM,comm);</div></div></div><div><br></div><div>option 3. only use MPI's primitive MPI_ types:<br clear="all"></div><div><br></div><div><div>PetscReal     x, xloc;<br></div><div><div>PetscInt        n, nloc;</div></div><div>MPI_Allreduce(&xloc,&x,1,MPI_DOUBLE,MPI_SUM,comm);</div><div>MPI_Allreduce(&nloc,&n,1,MPI_INT,MPI_SUM,comm);</div></div><div><br></div><div>I couldn't find discussion of allreduce usage in the petsc manual.</div><div><br></div><div>Thanks!</div><div><br></div><div>Ed</div><div><br></div><div>PS  With option 1 on one machine I get "PETSC ERROR: Can only handle MPIU_REAL or MPIU_COMPLEX data types" in parallel but no error in serial.  On my two other machines there is no error with option 1.  All three machines work fine with option 3.  I have not tested option 2.</div><div><br></div>-- <br><div class="gmail_signature">Ed Bueler<br>Dept of Math and Stat and Geophysical Institute<br>University of Alaska Fairbanks<br>Fairbanks, AK 99775-6660<br>301C Chapman and 410D Elvey<br>907 474-7693 and 907 474-7199  (fax 907 474-5394)</div>
</div></div>