[Top][All Lists]

[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 (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

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


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:


echo Cleaniing up FCLIBS for xlf

case $SERIALFC in

*mpixlf* | *bgxlf*)


  unset FCLIBS

  for i in $OLDFCLIBS; do

    case $i in

      -R*) ;;

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





John Cary

reply via email to

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