Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] EXTERNAL: Re: How could OpenMPI (or MVAPICH) affect floating-point results?
From: Blosch, Edwin L (edwin.l.blosch_at_[hidden])
Date: 2011-09-20 12:49:54


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_at_[hidden] [mailto:users-bounces_at_[hidden]] On Behalf Of Eugene Loh
Sent: Tuesday, September 20, 2011 10:08 AM
To: users_at_[hidden]
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_at_[hidden]

http://www.open-mpi.org/mailman/listinfo.cgi/users