Re: amber-developers: pgf90 and netcdf

From: Scott Brozell <sbrozell.scripps.edu>
Date: Sat, 1 Apr 2006 03:26:55 -0700

On Sat, 1 Apr 2006, David A. Case wrote:

> On Fri, Mar 31, 2006, Scott Brozell wrote:
> >
> > I suggest that the dlamch.f rule hard code -O0 in Amber 10.
>
> The problem is that you lose what might be important hardware dependent
> flags as well, like "-m32" or "-m64" for some compilers that support
both
> ia32 and x86_64 options. I would really prefer to have $(FFLAGS) be low
> enough optimization to work for dlmach.f If that means that $(FFLAGS)
has to
> go to -O0, so be it.

I was thinking of this

# override FFLAGS to ensure no optimizations
dlamch.o: dlamch.f
    $(FPP) $< > _$<
    $(FC) -c $(FFLAGS) -O0 -o $. _$<
                       !!!
The probability of errors with this construct seems tiny,
but I wouldnt wager heavily that its 0.
Some compilers issue a warning when an optimization option is overriden.
Surely, 2 years of testing will shake out the bugs ;-)

As an aside the search path for the pgi blas and lapack libraries:
    if [ -e /usr/pgi/linux86/lib/liblapack.a ]; then
should be improved.
Some platforms define the environment variable PGI (like the one im
using).
This should be tested; probably there is a way to use pgf90 itself, but
the manual blurb suggets a simple algorithm:
       The installation of this version of the compiler resides in
       $PGI/target/6.0/; other versions may coexist in
$PGI/target/release/.
       $PGI is an environment variable that points to the root of the
compiler
       installation directory. If $PGI is not set, the default is
/usr/pgi.
       The target is one of the following:
       linux86 for 32-bit IA32 Linux targets
       linux86-64 for 64-bit AMD64 or EM64T Linux targets


Alternatively, you could blow away distribution of blas and lapack.
I know your position on distributing all dependencies, but
for COLUMBUS, I decided that all platforms will have a native
blas and lapack. This hasnt failed yet. But we havent tried for
example cygwin.

> Let me know what you find out, especially if -O1 vs -O helps. But give
> a try with the original (CVS) src/lapack/Makefile.

Here's a review:
I started with the latest snapshot which is the same as the original
(CVS) src/lapack/Makefile. This used
pgf90 -c -tp px -O -o dlamch.o _dlamch.f
According to the manual -O == -O2 in this situation.
I got 9 hanging tests.

I then did this
pgf90 -c -o dlamch.o _dlamch.f
According to the manual the default is -O1 -tp p7 in this situation.
All 9 previous hangers passed.

Scott
Received on Wed Apr 05 2006 - 23:49:31 PDT
Custom Search