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-bounces@open-mpi.org [mailto:users-bounces@open-mpi.org] On Behalf Of Eugene Loh
Sent: Tuesday, September 20, 2011 10:08 AM
To: users@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
users@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users