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