Here is a diff -y output of the compilation of one of the program's files. The one on the left is OpenMPI mpif90, the one on the right is MVAPICH mpif90.
Does that suggest perhaps I should try adding -fPIC to the OpenMPI-linked compilation? /appserv/intel/Compiler/11.1/072/bin/intel64/fortcom /appserv/intel/Compiler/11.1/072/bin/intel64/fortcom -D__INTEL_COMPILER=1110 -D__INTEL_COMPILER=1110 -D_MT -D_MT -D__ELF__ -D__ELF__ -D__INTEL_COMPILER_BUILD_DATE=20100414 -D__INTEL_COMPILER_BUILD_DATE=20100414 > -D__PIC__ > -D__pic__ -D__unix__ -D__unix__ -D__unix -D__unix -D__linux__ -D__linux__ -D__linux -D__linux -D__gnu_linux__ -D__gnu_linux__ -Dunix -Dunix -Dlinux -Dlinux -D__x86_64 -D__x86_64 -D__x86_64__ -D__x86_64__ -mGLOB_pack_sort_init_list -mGLOB_pack_sort_init_list -I../../../code/src/main -I../../../code/src/main -I. -I. -I. -I. -I/usr/mpi/intel/openmpi-1.4.3/include | -I/usr/mpi/intel/mvapich-1.2.0/include <snip> | <snip> -I/usr/mpi/intel/openmpi-1.4.3/include | -I/usr/mpi/intel/mvapich-1.2.0/include/f90base -I/usr/mpi/intel/openmpi-1.4.3/lib64 < -I/appserv/intel/Compiler/11.1/072/include/intel64 -I/appserv/intel/Compiler/11.1/072/include/intel64 -I/appserv/intel/Compiler/11.1/072/include/intel64 -I/appserv/intel/Compiler/11.1/072/include/intel64 -I/appserv/intel/Compiler/11.1/072/include -I/appserv/intel/Compiler/11.1/072/include -I/usr/local/include -I/usr/local/include -I/usr/include -I/usr/include -I/usr/lib64/gcc/x86_64-suse-linux/4.3/include -I/usr/lib64/gcc/x86_64-suse-linux/4.3/include "-align all" "-align all" "-align records" "-align records" > -D__INTEL_COMPILER -D_GNU_SOURCE -D_GNU_SOURCE -fpconstant -fpconstant -O2 -O2 "-reentrancy threaded" < -traceback -traceback -mP1OPT_version=11.1-intel64 -mP1OPT_version=11.1-intel64 -mGLOB_diag_file=main.diag -mGLOB_diag_file=main.diag -mGLOB_source_language=GLOB_SOURCE_LANGUAGE_F90 -mGLOB_source_language=GLOB_SOURCE_LANGUAGE_F90 -mGLOB_tune_for_fort -mGLOB_tune_for_fort -mGLOB_use_fort_dope_vector -mGLOB_use_fort_dope_vector -mP2OPT_static_promotion -mP2OPT_static_promotion -mP1OPT_print_version=FALSE -mP1OPT_print_version=FALSE -mP3OPT_use_mspp_call_convention -mP3OPT_use_mspp_call_convention -mCG_use_gas_got_workaround=F -mCG_use_gas_got_workaround=F -mP2OPT_align_option_used=TRUE -mP2OPT_align_option_used=TRUE "-mGLOB_options_string=-I. -I/usr/mpi/intel/openmpi-1.4.3/include <snip> | "-mGLOB_options_string=-I. -I/usr/mpi/intel/mvapich-1.2.0/include <snip> -I/usr/mpi/intel/openmpi-1.4.3/include -I/usr/mpi/intel/openmpi-1.4.3/lib64 | -I/usr/mpi/intel/mvapich-1.2.0/include/f90base -D_GNU_SOURCE | -fPIC -fPIC -L/usr/lib64 -D__INTEL_COMPILER -D_GNU_SOURCE -v -traceback -align -pad -xHost -falign-functions -fpconstant -O2 -c -pthread" | -v -traceback -align -pad -xHost -falign-functions -fpconstant -O2 -c" > -mGLOB_position_independent_code > -mGLOB_preemption_model=3 -mGLOB_cxx_limited_range=FALSE -mGLOB_cxx_limited_range=FALSE -mGLOB_traceback -mGLOB_traceback -mGLOB_as_output_backup_file_name=/tmp/ifortnQ90gcas_.s | -mGLOB_as_output_backup_file_name=/tmp/ifortPHVEMsas_.s -mIPOPT_activate -mIPOPT_activate -mIPOPT_lite -mIPOPT_lite -mGLOB_machine_model=GLOB_MACHINE_MODEL_EFI2 -mGLOB_machine_model=GLOB_MACHINE_MODEL_EFI2 -mGLOB_use_base_pointer -mGLOB_use_base_pointer -mGLOB_extended_instructions=0x400 -mGLOB_extended_instructions=0x400 -mGLOB_advanced_optim=TRUE -mGLOB_advanced_optim=TRUE -mP2OPT_pad_local -mP2OPT_pad_local -mP2OPT_subs_out_of_bound=FALSE -mP2OPT_subs_out_of_bound=FALSE -mGLOB_ansi_alias -mGLOB_ansi_alias -mIPOPT_args_in_regs=0 -mIPOPT_args_in_regs=0 -mPGOPTI_value_profile_use=T -mPGOPTI_value_profile_use=T -mCG_function_alignment=16 -mCG_function_alignment=16 -mGLOB_opt_level=2 -mGLOB_opt_level=2 -mP2OPT_hlo_level=2 -mP2OPT_hlo_level=2 -mP2OPT_hlo -mP2OPT_hlo -mIPOPT_obj_output_file_name=main.o -mIPOPT_obj_output_file_name=main.o -mGLOB_linker_version=2.20.0.20100122-0.7.9 -mGLOB_linker_version=2.20.0.20100122-0.7.9 -mP3OPT_asm_target=P3OPT_ASM_TARGET_GAS -mP3OPT_asm_target=P3OPT_ASM_TARGET_GAS -mGLOB_obj_output_file=main.o -mGLOB_obj_output_file=main.o -mGLOB_source_dialect=GLOB_SOURCE_DIALECT_FORTRAN -mGLOB_source_dialect=GLOB_SOURCE_DIALECT_FORTRAN -mP1OPT_source_file_name=../../../code/src/main/main.f90 -mP1OPT_source_file_name=../../../code/src/main/main.f90 ../../../code/src/main/main.f90 ../../../code/src/main/main.f90 -----Original Message----- From: users-boun...@open-mpi.org [mailto:users-boun...@open-mpi.org] On Behalf Of Eugene Loh Sent: Tuesday, September 20, 2011 10:08 AM To: us...@open-mpi.org Subject: Re: [OMPI users] EXTERNAL: Re: How could OpenMPI (or MVAPICH) affect floating-point results? I've not been following closely. How do you know you're using the identical compilation flags? Are you saying you specify the same flags to "mpicc" (or whatever) or are you confirming that the back-end compiler is seeing the same flags? The MPI compiler wrapper (mpicc, et al.) can add flags. E.g., as I remember it, "mpicc" with no flags means no optimization with OMPI but with optimization for MVAPICH. On 9/20/2011 7:50 AM, Blosch, Edwin L wrote: > - It was exact same compiler, with identical compilation flags. _______________________________________________ users mailing list us...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/users