I am observing differences in floating-point results from an application program that appear to be related to whether I link with OpenMPI 1.4.3 or MVAPICH 1.2.0. Both packages were built with the same installation of Intel 11.1, as well as the application program; identical flags passed to the compiler in each case.
I've tracked down some differences in a compute-only routine where I've printed out the inputs to the routine (to 18 digits) ; the inputs are identical. The output numbers are different in the 16th place (perhaps a few in the 15th place). These differences only show up for optimized code, not for -O0. My assumption is that some optimized math intrinsic is being replaced dynamically, but I do not know how to confirm this. Anyone have guidance to offer? Or similar experience? Thanks very much Ed Just for what it's worth, here's the output of ldd: % ldd application_mvapich linux-vdso.so.1 => (0x00007fffe3746000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002b5b45fc1000) libmpich.so.1.0 => /usr/mpi/intel/mvapich-1.2.0/lib/shared/libmpich.so.1.0 (0x00002b5b462cd000) libibverbs.so.1 => /usr/lib64/libibverbs.so.1 (0x00002b5b465ed000) libibumad.so.3 => /usr/lib64/libibumad.so.3 (0x00002b5b467fc000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b5b46a04000) librt.so.1 => /lib64/librt.so.1 (0x00002b5b46c21000) libm.so.6 => /lib64/libm.so.6 (0x00002b5b46e2a000) libdl.so.2 => /lib64/libdl.so.2 (0x00002b5b47081000) libc.so.6 => /lib64/libc.so.6 (0x00002b5b47285000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002b5b475e3000) /lib64/ld-linux-x86-64.so.2 (0x00002b5b45da0000) libimf.so => /opt/intel/Compiler/11.1/072/lib/intel64/libimf.so (0x00002b5b477fb000) libsvml.so => /opt/intel/Compiler/11.1/072/lib/intel64/libsvml.so (0x00002b5b47b8f000) libintlc.so.5 => /opt/intel/Compiler/11.1/072/lib/intel64/libintlc.so.5 (0x00002b5b47da5000) % ldd application_openmpi linux-vdso.so.1 => (0x00007fff6ebff000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002b6e7c17d000) libmpi_f90.so.0 => /usr/mpi/intel/openmpi-1.4.3/lib64/libmpi_f90.so.0 (0x00002b6e7c489000) libmpi_f77.so.0 => /usr/mpi/intel/openmpi-1.4.3/lib64/libmpi_f77.so.0 (0x00002b6e7c68d000) libmpi.so.0 => /usr/mpi/intel/openmpi-1.4.3/lib64/libmpi.so.0 (0x00002b6e7c8ca000) libopen-rte.so.0 => /usr/mpi/intel/openmpi-1.4.3/lib64/libopen-rte.so.0 (0x00002b6e7cb9c000) libopen-pal.so.0 => /usr/mpi/intel/openmpi-1.4.3/lib64/libopen-pal.so.0 (0x00002b6e7ce01000) libdl.so.2 => /lib64/libdl.so.2 (0x00002b6e7d077000) libnsl.so.1 => /lib64/libnsl.so.1 (0x00002b6e7d27c000) libutil.so.1 => /lib64/libutil.so.1 (0x00002b6e7d494000) libm.so.6 => /lib64/libm.so.6 (0x00002b6e7d697000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b6e7d8ee000) libc.so.6 => /lib64/libc.so.6 (0x00002b6e7db0b000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002b6e7de69000) /lib64/ld-linux-x86-64.so.2 (0x00002b6e7bf5c000) libifport.so.5 => /opt/intel/Compiler/11.1/072/lib/intel64/libifport.so.5 (0x00002b6e7e081000) libifcoremt.so.5 => /opt/intel/Compiler/11.1/072/lib/intel64/libifcoremt.so.5 (0x00002b6e7e1ba000) libimf.so => /opt/intel/Compiler/11.1/072/lib/intel64/libimf.so (0x00002b6e7e45f000) libsvml.so => /opt/intel/Compiler/11.1/072/lib/intel64/libsvml.so (0x00002b6e7e7f4000) libintlc.so.5 => /opt/intel/Compiler/11.1/072/lib/intel64/libintlc.so.5 (0x00002b6e7ea0a000)