libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fortran libraries on the Blue Gene with mpi


From: John R. Cary
Subject: Re: Fortran libraries on the Blue Gene with mpi
Date: Tue, 14 Apr 2009 11:23:41 -0600
User-agent: Thunderbird 2.0.0.21 (Windows/20090302)

Ralf Wildenhues wrote:
Hello John,

* John R. Cary wrote on Mon, Apr 13, 2009 at 10:19:49PM CEST:
I am trying to link some Fortran code on the Blue Gene (P) using
the xl compilers.

Probably Libtool needs to be ported fully to this system first, or,
just the name matching be adjusted (libtool matches compilers by their
names).  Can you point us to documentation of the compiler and linker
suite of this system?  Would you be willing to go through the porting
effort with us (you'll have to answer a few questions and try out some
things on this system while we work on a patch).
Sure, I would be happy to do this.



First, the compilers are those at



http://www.alcf.anl.gov/support/usingALCF/bgl/appdocs.php



But I think it is the linking that gets to be a pain. This is a cross-compile

situation, in which one compiles on 64-bit login nodes but runs on 32-bit

compute nodes.  The former can have shared objects, but the latter cannot.

The parallel compilers, e.g., mpixlf95_r, are wrappers over the

cross compilers, such as



login3.intrepid$ \ls /opt/ibmcmp/xlf/bg/11.1/bin/bg*

/opt/ibmcmp/xlf/bg/11.1/bin/bgf2003 /opt/ibmcmp/xlf/bg/11.1/bin/bgxlf2003_r

/opt/ibmcmp/xlf/bg/11.1/bin/bgf77      /opt/ibmcmp/xlf/bg/11.1/bin/bgxlf90

/opt/ibmcmp/xlf/bg/11.1/bin/bgf90      /opt/ibmcmp/xlf/bg/11.1/bin/bgxlf90_r

/opt/ibmcmp/xlf/bg/11.1/bin/bgf95      /opt/ibmcmp/xlf/bg/11.1/bin/bgxlf95

/opt/ibmcmp/xlf/bg/11.1/bin/bgfort77   /opt/ibmcmp/xlf/bg/11.1/bin/bgxlf95_r

/opt/ibmcmp/xlf/bg/11.1/bin/bgxlf      /opt/ibmcmp/xlf/bg/11.1/bin/bgxlf_r

/opt/ibmcmp/xlf/bg/11.1/bin/bgxlf2003



which are probably also wrappers that ensure that one generates

32-bit code and does not link   So in the end, I think these are all just

regular xl compilers.



My solution, btw, is simply to pull any '-R' args out after libtool:



AC_PROG_LIBTOOL

echo Cleaniing up FCLIBS for xlf

case $SERIALFC in

*mpixlf* | *bgxlf*)

  OLDFCLIBS=$FCLIBS

  unset FCLIBS

  for i in $OLDFCLIBS; do

    case $i in

      -R*) ;;

      *) FCLIBS="$FCLIBS $i";;

    esac

  done

  ;;

esac



John Cary

















reply via email to

[Prev in Thread] Current Thread [Next in Thread]