AIX certification, optimization
Compiling and building our code
- AIX is just "a little bit special." A lot of non-standard Fortran is
either not allowed or works differently than on other platforms.
- Linking: On fibi01, you must put -lxlf90 in the link string
-
| Namelists: In AIX a valid namelist looks like
this:    |
| &CONTROL | | NFILES=2 |
| RAWALL=-1 | | / |
|
- Something seems messed up with the HBOOK routines, perhaps in the HLIMIT
call. This is OK for Pass1 which only uses Oddpack, but it is a nuisance for
those wanting to run a more "standard" analysis. If anyone discovers a fix,
let me know.
Code Stability
- Our code seems to be as stable on AIX as on other platforms. In standard
template jobs, crashes are rare to non-existant. However, under even
-O2 optimization (our default) trapping on overflow and divide-by-zero
conditions seems to be impossible.
Compiler Optimizations
- Comprhensive studies have been made on using -O3 optimization and
on using the -qarch flag. The first performs some minor code rewrites,
the latter will generate machine code that can only be run on a particular
processor type (POWER/POWER2/POWERPC).
- -O3 on all our code gives an approximate 10% speed up. Performing
this on our most heavily used routines is probably preferable since it will
give nearly all the same benefits.
- The -qarch flag gives another 10% or so on the POWER platform.
However, the farms we will use will be POWERPC so this study needs to be
redone. Again, we can probably do this to a select 50-60 routines.
- Profiles from the AIX code look fairly similar to SGI and OSF profiles in
terms of which routines take the most time.
Farm Code Progress (August 28, 1997)
We have been allocated an IBM production system, ibme831c which is now
being used for testing.
The code has been built and runs in the Farm/CPS environment. However there are
still a few issues to be settled:
- The output data on tape has been verified to be readable, but I haven't
looked at any oddpack output to make sure it makes sense. (The normal AIX
oddpacks are fine, I refer to the AIX farm oddpacks.)
- There are still some parts of the farm framework that need to be modified
for AIX, but these problems appear to be minor.
- Our input process can only keep about 4 processors at 100% CPU
utilization. With 8 CPUs our utilization goes to about 50% each. We have an
idea what is causing this. Once this is fixed and our optimizations are
sorted out we should be able to get an 8-node farm to reconstruct a run in
under 6 hours.
- I've had some non-repeatable crashes which I haven't sorted out. They
don't seem to be related to problems within our analysis code.
I think these issues will be sorted out fairly soon, before we are ready for
full scale production.
Since there are about 40 of these machines and other
experiments may be reluctant to make the effort to ensure their code is OK on
AIX I think we have a real oppurtunity to "snag" a lot of computing here.

Send comments to: Eric Vaandering