------- Comment #4 from longb at cray dot com 2007-09-10 16:03 ------- Subject: Re: GFORTRAN OPTIMIZATION ERROR ABOVE -O0 FOR MPICH2 TEST F90_RMA/BASEATTRWINF90.F90
sgk at troutmask dot apl dot washington dot edu wrote: > ------- Comment #3 from sgk at troutmask dot apl dot washington dot edu > 2007-09-08 19:17 ------- > Subject: Re: GFORTRAN OPTIMIZATION ERROR ABOVE -O0 FOR MPICH2 TEST > F90_RMA/BASEATTRWINF90.F90 > > >>>>> ftn -o x -O2 bug2867.f90 >>>>> aprun -n 1 ./x >>>>> >>>>> >>>> Got incorrect value for WIN_SIZE ( 140733193389056 , should be >>>> >>>> 1024 ) >>>> Got wrong value for WIN_DISP_UNIT ( 140733193388036 , should be >>>> >>>> >>> What is ftn? On my system, when I build MPICH2 I get mpf90. >>> >>> >> ftn is a script that allows the user to see a common interface for all >> the compilers we document. Which compiler is used is controlled by the >> module facility. Library sets are selected based on the compiler and OS >> combinations. The same command is used for both serial and parallel >> programs. >> >> > > Any chance that you can skip the script and use mpif90 directly? > Also, I have MPICH2 1.05p4. Can you this version? Is the > version of MPICH2 that you used patched by Cray? > > I believe we use "plain" mpich2 for the Opteron systems. Here is the detail on the ftn command: nid00007/longb> ftn -v /opt/xt-pe/2.1/bin/snos64/ftn: INFO: linux target is being used mpif90 for 1.0.2 Driving: /opt/gcc/4.2.1/bin/../snos/bin/gfortran -static -v -I/opt/xt-mpt/2.1/mpich2-64/GP/include -I/opt/xt-mpt/2.1/mpich2-64/GP/include -L/opt/xt-mpt/2.1/mpich2-64/GP/lib -I/opt/xt-libsci/10.1.0/gnu/snos64/include -I/opt/xt-libsci/10.1.0/gnu/snos64/incl Using built-in specs. Target: x86_64-suse-linux Configured with: ../xt-gcc-4.2.1/configure --prefix=/opt/gcc/4.2.1/snos --disable-nls --libdir=/opt/gcc/4.2.1/snos/lib --enable-languages=c,c++,fortran --with-gxx-include-dir=/opt/gcc/4.2.1/snos/include/g++ --with-slibdir=/opt/gcc/4.2.1/snos/lib --with-sy Thread model: posix gcc version 4.2.1 20070719 (rpm:3) /opt/gcc/4.2.1/snos/libexec/gcc/x86_64-suse-linux/4.2.1/collect2 -m elf_x86_64 -static /usr/lib/../lib64/crt1.o /usr/lib/../lib64/crti.o /opt/gcc/4.2.1/snos/lib/gcc/x86_64-suse-linux/4.2.1/crtbeginT.o -L/opt/xt-mpt/2.1/mpich2-64/GP/lib -L/opt/xt-libsci/1 /opt/gcc/4.2.1/snos/lib/gcc/x86_64-suse-linux/4.2.1/libgfortranbegin.a(fmain.o)(.text+0xa): In function `main': ../../../xt-gcc-4.2.1/libgfortran/fmain.c:18: undefined reference to `MAIN__' collect2: ld returned 1 exit status Note: The version of gcc we are using is not the same as the one you noted, and for the XT systems all linking is static. Our version of mpich2 appears to be older. I can ask the MPI group for a newer version. Cheers, Bill -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33339