More likely the difference is due to the fact that MPICH does some automatic process binding and OMPI doesn't. There have been a number of discussions on this list about this issue. You might search the list for "MPICH" to find them.
See the OMPI FAQ on affinity:
On Jan 13, 2010, at 6:01 PM, Aaron Knister wrote:
> Does your application do a lot of printing to stdout/stderr?
> On Jan 11, 2010, at 8:00 AM, Mathieu Gontier wrote:
>> Hi all
>> I want to migrate my CFD application from MPICH-1.2.4 (ch_p4 device) to OpenMPI-1.4. Hence, I compared the two libraries compiled with my application and I noted OpenMPI is less efficient thant MPICH on ethernet (170min with MPICH against 200min with OpenMPI). So, I wonder if someone has more information/explanation.
>> Here the configure options of OpenMPI:
>> export FC=gfortran
>> export F77=$FC
>> export CC=gcc
>> export PREFIX=/usr/local/bin/openmpi-1.4
>> ./configure --prefix=$PREFIX --enable-cxx-exceptions --enable-mpi-f77 --enable-mpi-f90 --enable-mpi-cxx --enable-mpi-cxx-seek --enable-dist --enable-mpi-profile --enable-binaries --enable-cxx-exceptions --enable-mpi-threads --enable-memchecker --with-pic --with-threads --with-valgrind --with-libnuma --with-openib
>> Despite my OpenMPI compilation supports OpenIB, I did not specified any mca/btl options because the machine does not have access to a Infiniband interconnect. So, I guess tcp, sm and self are used (or at least something close).
>> Thank you for your help.
>> users mailing list
> users mailing list