PAW on the Cobalt-Cluster







For information on the methodology or the input format (strc-file and cntl-file) for the PAW
program please have a look into the "Manual for the Projector Augmented Wave Method" Version 2.0.
(This means: really physically read the menu!)
 
 

This is the "old" README for paw22_fftw:

Intro


this file contains some info concerning the "portable" PAW running on the Cobalt-
cluster. because of some problems during the port, some features available
on the IBM machines are not available, which is important to know when using
the program.
This file contains also some info with regard to some utility scripts to
run jobs on cobalt.
 
 
 

Code


apart from some minor changes and polishings (due to the more picky compiler on the
DEC) the paw22_fftw code is essentially the same as the IBM code.
the major difference is the fact, that the IBM proprietary essl-library had to be
replaced. this concerns especially the 3d-complex FFT routines which are important
for the speed of the program.

for the port I've used the public domain FFT-library (written in C at the MIT) called
fftw (version 1.2). the matrix algebra calls to the essl are replaced by calls to
a BLAS and LAPACK lib compiled from the sources from www.netlib.org and a couple
of "handmade" routines which are not time critical (thanks to Peter Margl ;-).

The fftw lib can be tuned further (which is on the todo-list) but this source as it
is compiled on the IBM was just 10% slower then the original IBM version with the essl,
and it is also faster then a version using the DEC dxml library.
 
 
 

Sources


the sources with a new makefile sit in my homedir in /usr/people/program/paw/PAW2.2/Source
(and shouldn't be copied somewhere without letting me know !! ;-).
 

Executable and other Stuff


all the stuff necessary for paw runs can be found at

        /usr/people/program/paw

if there is something you need, let me know.
in the /bin directory there are some executables called paw22_fftw.<date>.nsx and
"paw" is linked to the newest exec. to run a job you just need:

        /usr/people/program/paw/bin/paw <controlfile>

all the setups for the elements are in the /data directory. /Atom contains the local
and /AtomGC the GGA-setups (as on the IBM under /usr/local/paw/).

The executables have a timestamp compiled in. In the header line of the *.prot file
the program prints if it is an optimized or debug version and on what date/time it
has been built. If you find anything working once and not working later on please
check if you are using a newer built and tell me. I presumably screwed something up
and it is easier to track this down :-).

Some recent minor changes in the code:


 

Things that work and things that don't work

as I said, the cobalt version should be nearly identical to the IBM version.
so all the .cntl and .strc files should work as well on the DEC (if you modified
the path to the setup files etc.). The COSMO implementation of Peter works.
the QMMM will be working soon (maybe it does already when you read this).

the following things don't work:
- (because of IBM specific system calls all the timing info is crap)
    This is not correct anymore. There is some timing info using the f90 date command.
    It gives a reasonable idea of the length of a timestep etc.
                                                                                                               (RS  30.11.98)
- the "kill -30" command does not work!!!!
        -> this means you have to wait until the job is done to get a proper
           restart file. this means if you don't use the autopilot you have
           to set the number of steps properly for your needs.
         -> you can stop your job as with "kill -30" by creating a file with the same rootname as
            the control file and the extension exit.
                       $  touch jobname.exit
     this will have the same effect: the program writes to the restart file and exits.
                                                                                                              (RS  30.11.98)
- The filehandler works thanks to Serguei. (Compiler bug on the DEC)
(- because of some weird behaviour of the OPEN statement on the DEC the quite complex
  filehandler does not work in certain cases on the DEC. This means, the program can
  not append to existing files properly which means it will die with an I/O error if
  you have e.g. an old <name>.prot file around.
         -> you have to remove the old *.prot file and other files by renaming them.
            (I didn't check everything out in detail, but the program names the file
            in the I/O error message)
            just rename the file.)
                                                                                                                  (RS 30.11.98)
 
 




 
Rochus Schmid    (NEWS: 16.12.98)