[mpich2-dev] Announcing the availability of MPICH2-1.0.7rc2

Anthony Chan chan at mcs.anl.gov
Thu Mar 27 15:35:39 CDT 2008


Hi Joseph,

I can't reproduce your problem. Either I don't completely understand what
the problem is or I am not building dcmf and doing "make testing"...
Anyway, could explain what exact problem you are seeing and how
I can reproduce it ?

Send me your <mpich2-build-dir>/config.log and
<mpich2-build-dir>/test/mpi/config.log as well.

A.Chan

On Wed, 26 Mar 2008, Joseph Ratterman wrote:

> Now I'm seeing the problem again.  The first merge was only with our old
> code version that we provided to you so that you could include the dcmfd
> device in the code.  My current problems are in the codebase from the
> merge with our lastest dirver information.  These are my flags (pulled
> from config.log, so I'm sure they are correct):
> 'FFLAGS=-I/bgusr/jratt/del/bgp/work/comm/sys/include -fno-underscoring'
> 'MPICH2LIB_FFLAGS=-g -Wall -O3 -mcpu=450fp2 -mstrict-align
> -fno-strict-aliasing -fno-underscoring'
>
> These are what I consider to be the interesting bits of
> mpich2/tests/mpi/configure:
>  1615  # If it is building with MPICH2, set xFLAGS to null, as mpiXX
> contains xFLAGS.
>  1616  if test "$FROM_MPICH2" = "yes" ; then
>  1617      CFLAGS=""
>  1618      CXXFLAGS=""
>  1619      FFLAGS=""
>  1620      F90FLAGS=""
>  1621  fi
>
>  5746     # Check for strange behavior of Fortran.  For example, some
> FreeBSD
>  5747     # systems use f2c to implement f77, and the version of f2c that
> they
>  5748     # use generates TWO (!!!) trailing underscores
>  5749     # Currently, WDEF is not used but could be...
>  5750     #
>  5751     # Eventually, we want to be able to override the choices here
> and
>  5752     # force a particular form.  This is particularly useful in
> systems
>  5753     # where a Fortran compiler option is used to force a particular
>  5754     # external name format (rs6000 xlf, for example).
>  5755     rm -f conftest*
>  5756     cat > conftest.f <<EOF
>  5757         subroutine MY_name( i )
>  5758         return
>  5759         end
>  5760  EOF
>  5761     # This is the ac_compile line used if LANG_FORTRAN77 is
> selected
>  5762     if test "X$ac_fcompile" = "X" ; then
>  5763         ac_fcompile='${F77-f77} -c $FFLAGS conftest.f 1>&5'
>  5764     fi
>  5765     if { (eval echo "$as_me:$LINENO: \"$ac_fcompile\"") >&5
>  5766    (eval $ac_fcompile) 2>&5
>  5767    ac_status=$?
>  5768    echo "$as_me:$LINENO: \$? = $ac_status" >&5
>  5769    (exit $ac_status); } && test -s conftest.o ; then
>  5770          mv conftest.o fconftestf.o
>  5771     else
>  5772          echo "configure: failed program was:" >&5
>  5773          cat conftest.f >&5
>  5774     fi
>
> Based on lines 1619 and 5763, I don't see how (unless $FROM_MPICH2 isn't
> set) the compile could be done correctly.  In fact, that is the case. When
> I use the info at the tops of tests/mpi/config.log to manually run
> configure, it works fine.  When I add "FROM_MPICH2=yes ..." to the start,
> it no longer works.
> I added a call to "env" to the generated configure script, so I know that
> FROM_MPICH2 is set.  mpich2/tests/mpi/configure* doesn't have a single
> reference to MPICH2LIB_FFLAGS.
>
> What am I missing?
>
>
> Thanks in advance,
> Joe Ratterman
>
>
>
>
>
>
> Joseph Ratterman/Rochester/IBM at IBMUS
> Sent by: owner-mpich2-dev at mcs.anl.gov
> 03/25/08 10:44 AM
> Please respond to
> mpich2-dev at mcs.anl.gov
>
>
> To
> mpich2-dev at mcs.anl.gov
> cc
>
> Subject
> Re: [mpich2-dev] Announcing the availability of MPICH2-1.0.7rc2
>
>
>
>
>
>
>
> I changed all "?FLAGS=" to "MPICH2LIB_?FLAGS=", and "MPI_?FLAGS=" to
> "?FLAGS=".  Now the configure commands look like this.  They both have
> "-fno-underscoring", so they both get the same right answer.
> build/mpich2/dcmf/config.log:273:configure:6471: checking for Fortran 77
> name mangling
> build/mpich2/dcmf/config.log-274-configure:6496:
> /bgsys/drivers/DRV120_2008-080320P/ppc/gnu-linux/bin/powerpc-bgp-linux-gfortran
> -c -Wall -fno-underscoring -g -Wall -O3 -mcpu=450fp2 -mstrict-align
> -fno-strict-aliasing -fno-underscoring conftest.f 1>&5
> build/mpich2/dcmf/test/mpi/config.log:473:configure:5734: checking for
> Fortran 77 name mangling
> build/mpich2/dcmf/test/mpi/config.log-474-configure:5759:
> /bgsys/drivers/DRV120_2008-080320P/ppc/gnu-linux/bin/powerpc-bgp-linux-gfortran
> -c -Wall -fno-underscoring conftest.f 1>&5
>
> It also appears to be adding the correct flags to the compiler scripts.
>
>
> Thanks for your help!
> Joe Ratterman
>
>
>
>
> Pavan Balaji <balaji at mcs.anl.gov>
> Sent by: owner-mpich2-dev at mcs.anl.gov
> 03/24/08 09:58 PM
>
> Please respond to
> mpich2-dev at mcs.anl.gov
>
>
> To
> mpich2-dev at mcs.anl.gov
> cc
>
> Subject
> Re: [mpich2-dev] Announcing the availability of MPICH2-1.0.7rc2
>
>
>
>
>
>
>
>
> Joe,
>
> The flags definitions have changed a bit since 1.0.7rc1. The previous
> usage of the flags were causing duplication of flags for the MPICH2 test
> suite. If you want to just compile MPICH2 with some flags, and not have
> them reflect in mpif77, etc., you should set MPICH2LIB_FFLAGS to these
> flags. Here's the usage:
>
> FFLAGS --> used to compile MPICH2 and gets appended to mpif77
> MPICH2LIB_FFLAGS --> only used to compile MPICH2
>
> MPI_FFLAGS, etc., are deprecated.
>
> -- Pavan
>
> On 03/24/2008 08:26 PM, Joseph Ratterman wrote:
>>
>> We downloaded the RC2 release and merged it into our code base.  When
>> building the tests, we found that the Fortran underscoring in the main
>> MPICH2 code did not match the settings in the tests directory.  This
>> caused the build to fail.
>> We set our FFLAGS with these options:
>> FFLAGS='-g -Wall -O3 -mcpu=450fp2 -mstrict-align -fno-strict-aliasing
>> -fno-underscoring'
>> MPI_FFLAGS='-Wall -fno-underscoring'
>>
>> The detailed analysis is below, but the problem was in the
>> mpich2/test/mpi/configure.in file, which blanked the FFLAGS variable
>> out.  This doesn't make sense for us, since we want to have *fewer*
>> flags in the generated mpif77 scripts than are used to compile the
>> objects.  The test-compile in configure is done with the raw gfortran
>> program, so it needs the flags to get the expected answer.  Later, the
>> tests directory is built with the mpif77 script that does include the
>> "-fno-underscoring" option and the Fortran object files have fewer
>> underscores than the c objects.  Therefore, the Fortran tests that mixed
>
>> c and Fortran language objects failed to match up correctly.
>>
>> What was the reason for this change--is it needed on some system?  Other
>
>> than our solution of removing the new lines from the configure file, do
>> you have a "correct" way for us to solve the build error?
>>
>>
>>
>>
>>
>>
>> Looking at the config.log files from the two directories, it seems that
>> the FFLAGS variable is missing in the tests dir.
>>
>> ./build/mpich2/dcmf/config.log:257:configure:6471: checking for Fortran
>> 77 name mangling
>> ./build/mpich2/dcmf/config.log-258-configure:6496:
>>
> /bgsys/drivers/DRV120_2008-080320P/ppc/gnu-linux/bin/powerpc-bgp-linux-gfortran
>
>> -c -g -Wall -O3 -mcpu=450fp2 -mstrict-align -fno-strict-aliasing
>> -fno-underscoring conftest.f 1>&5
>>
>> ./build/mpich2/dcmf/test/mpi/config.log:452:configure:5740: checking for
>
>> Fortran 77 name mangling
>> ./build/mpich2/dcmf/test/mpi/config.log-453-configure:5765:
>>
> /bgsys/drivers/DRV120_2008-080320P/ppc/gnu-linux/bin/powerpc-bgp-linux-gfortran
>
>> -c  conftest.f 1>&5
>>
>>
>> After looking through the changes, This appears to be the problem.
>>  After removing the added lines, the test is run correctly and gets the
>> expected result.
>>
>> diff --git a/lib/mpi/mpich2/test/mpi/configure.in
>> b/lib/mpi/mpich2/test/mpi/configure.in
>> index 9f57971..9542183 100644
>> --- a/lib/mpi/mpich2/test/mpi/configure.in
>> +++ b/lib/mpi/mpich2/test/mpi/configure.in
>> @@ -123,6 +123,14 @@ if test "$enable_threads" = "multiple" ; then
>>      threadsdir="threads"
>>  fi
>>
>> +# If it is building with MPICH2, set xFLAGS to null, as mpiXX contains
>> xFLAGS.
>> +if test "$FROM_MPICH2" = "yes" ; then
>> +    CFLAGS=""
>> +    CXXFLAGS=""
>> +    FFLAGS=""
>> +    F90FLAGS=""
>> +fi
>> +
>>  PAC_LOAD_BASE_CACHE
>>
>>  PAC_VPATH_CHECK()
>>
>>
>>
>>
>> This is the code that generates the test compile commands shown at the
> top:
>> AC_DEFUN(PAC_PROG_F77_NAME_MANGLE,[
>> AC_CACHE_CHECK([for Fortran 77 name mangling],
>> pac_cv_prog_f77_name_mangle,
>> [
>>    # Check for strange behavior of Fortran.  For example, some FreeBSD
>>    # systems use f2c to implement f77, and the version of f2c that they
>>    # use generates TWO (!!!) trailing underscores
>>    # Currently, WDEF is not used but could be...
>>    #
>>    # Eventually, we want to be able to override the choices here and
>>    # force a particular form.  This is particularly useful in systems
>>    # where a Fortran compiler option is used to force a particular
>>    # external name format (rs6000 xlf, for example).
>>    rm -f conftest*
>>    cat > conftest.f <<EOF
>>        subroutine MY_name( i )
>>        return
>>        end
>> EOF
>>    # This is the ac_compile line used if LANG_FORTRAN77 is selected
>>    if test "X$ac_fcompile" = "X" ; then
>>        ac_fcompile='${F77-f77} -c $FFLAGS conftest.f 1>&AC_FD_CC'
>>    fi
>>
>>
>>
>>
>>
>>
>>
>>
>> *Pavan Balaji <balaji at mcs.anl.gov>*
>> Sent by: owner-mpich2-dev at mcs.anl.gov
>>
>> 03/21/08 07:32 PM
>> Please respond to
>> mpich2-dev at mcs.anl.gov
>>
>>
>>
>> To
>>                  mpich2-dev at mcs.anl.gov, mpich-discuss at mcs.anl.gov,
>> mvapich-core at cse.ohio-state.edu, Edric.Ellis at mathworks.co.uk,
>> mpich-ms at mcs.anl.gov, dcmf at lists.anl-external.org, knaak at cray.com,
>> seppo at totalviewtech.com, yann.kalemkarian at bull.net, Satish Balay
>> <balay at mcs.anl.gov>, Dinesh Kaushik <kaushik at mcs.anl.gov>,
>> mpi-users at mcs.anl.gov
>> cc
>>                  mpich2-core at mcs.anl.gov
>> Subject
>>                  [mpich2-dev] Announcing the availability of
> MPICH2-1.0.7rc2
>>
>>
>>
>>
>>
>>
>>
>>
>> Hi all,
>>
>> The second release candidate for the next release of MPICH2 (1.0.7) is
>> available from
>>
> http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/mpich2-1.0.7rc2.tar.gz
> .
>>
>> Please try it out and let us know if you encounter any problems. The
>> major changes since 1.0.6p1 are highlighted below.
>>
>> (Windows binaries are available from
>>
> http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/mpich2-1.0.7rc2-win32-ia32.msi
>
>>
>> and
>>
> http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/mpich2-1.0.7rc2-win64-x86-64.msi
> )
>>
>> Regards,
>> The MPICH2 Team
>>
>> ---------------------------------------------------------------------
>> Main changes in 1.0.7
>> =====================
>>
>>  # OVERALL: Initial ROMIO device for BlueGene/P (the ADI device is also
>> added but is not configurable at this time).
>>
>>  # OVERALL: Major clean up for the propagation of user-defined and
>> other MPICH2 flags throughout the code.
>>
>>  # OVERALL: Support for STI Cell Broadband Engine.
>>
>>  # OVERALL: Added datatype free hooks to be used by devices
> independently.
>>
>>  # OVERALL: Added device-specific timer support.
>>
>>  # OVERALL: make uninstall works cleanly now.
>>
>>  # ROMIO: Support to take hints from a config file
>>
>>  # ROMIO: more tests and bug fixes for nonblocking I/O
>>
>>  # PM/PMI: Added support to use PMI Clique functionality for process
>> managers that support it.
>>
>>  # PM/PMI: Added SLURM support to configure to make it transparent to
>> users.
>>
>>  # PM/PMI: SMPD Singleton Init support.
>>
>>  # WINDOWS: Fortran 90 support added.
>>
>>  # SCTP: Added MPICH_SCTP_NAGLE_ON support.
>>
>>  # MPE: Updated MPE logging API so that it is thread-safe (through
>> global mutex).
>>
>>  # MPE: Added infrastructure to piggyback argument data to MPI states.
>>
>>  # DOCS: Documentation creation now works correctly for VPATH builds.
>>
>>  # Many other bug fixes, memory leak fixes and code cleanup. A full
>> list of changes is available using:
>>    svn log -r100:HEAD
>> https://svn.mcs.anl.gov/repos/mpi/mpich2/branches/release/MPICH2_1_0_7
>> -------------------------------------------------------------------
>>
>> --
>> Pavan Balaji
>> http://www.mcs.anl.gov/~balaji
>>
>>
>
> -- 
> Pavan Balaji
> http://www.mcs.anl.gov/~balaji
>
>
>




More information about the mpich2-dev mailing list