The program is easily installed through the use of the supplied
configure
script. Based on the
architecture supplied by the user, the
script will try to build a suitable
Makefile.config
on the
basis of what kind of mathematical libraries are found, and user
input. Thus, to execute the script, type
> ./configure -hosttypewhere hosttype may be one of
aix | darwin | linux-alpha |
cray | dec-alpha | nec |
cray-t90 | hal | sgi |
cray-t3d | hp | sun |
cray-t3e | linux |
If no hosttype is specified, the script will try to guess what sort of machine it is running on. This usually works fine for most common platforms.
Although this script in most cases is capable of making a correct
Makefile.config
, we always recommend users to check the created
Makefile.config
against local system set-up. This applies in
particular in case of parallel installations, where the user manually
has to specify certain variables like the path for the
MPI-libraries.
During the execution of the configure
script, you will be
asked a few questions, most of which require a quite obvious
answer. Let us only comment upon four of the questions asked:
WRKMEM
may be changed at execution time by supplying a
different value for WRKMEM
through the shell script running
DALTON.
dalton -b basdir
option.
NOTE TO SYSTEM ADMINISTRATORS: Supplied with DALTON is an extensive basis set library. This basis set directory must be made readable to all users. END NOTE
dalton
run script. However, note that jobs will be run in
a subdirectory of this head scratch-directory, according to the name
of the job files. If /work
or /scratch
is defined in the
local directory structure, the script will normally suggest
/work/$USER
or /scratch/$USER
as default head scratch space.
dalton
run script will be moved to.
Default: a subdirectory ./bin to the main DALTON directory.
Compiler options will be supplied in Makefile.config
, in the manner
we use ourselves. These options often do not include aggressive
optimization (for instance on the Cray), as
it is our experience that
the code is optimized incorrectly if the optimization is too
aggressive. The proper options to the C preprocessor for an ordinary
installation of the program are also supplied with
Makefile.config
.
The configure
script attempts to detect mathematical libraries
available on the system and use them whenever possible. DALTON can
use third-party BLAS and LAPACK libraries or libraries providing
equivalent functionality like ESSL on AIX, COMPLIB.sgimath on SGI,
DXML and CXML on Alpha architectures, ATLAS, ACML, MKL on Intel
architectures, VECLIB on HP/UX.
You will be asked which one you want of the found libraries.
You can also point the configure
script to the location of the preferred libraries by setting
LIBDIR
environment variable before running the script. For
example, if one has high-performance BLAS routines in mylibs
subdirectory of the user's home directory, configure
script can
be instructed to use them as follows:
env LIBDIR=\$HOME/mylibs ./configure
NOTE: If problems with I/O are experienced on
any computer,
manifesting themselves as error messages saying that a read statement
has passed the EOF mark, the *.F files in the gp directories should be
touched, and the code rebuilt using the additional C preprocessor
directive VAR_MFDS
.
When Makefile.config
has been properly
created and checked
to agree with local system set-up, all that is needed
to build an executable version of the
code is to type
(in the same directory as the Makefile.config
file):
> make
For MacOS X, the program may be installed either with the IBM
xlf compiler (version 8.1 at the time of release) for best performance
or with the g77 compiler (version 3.4.2 at the time of release). Be sure
to use the latest Xcode from http://developer.apple.com/
. The
g77 compiler may be obtained from http://hpc.sourceforge.net/
. With
the g77 compiler, the program may be installed as configured by default
(-O2 optimization level). However, for slightly better performance,
perform the following two-step process: First, make a copy of the original
Makefile.config
file. Next, in Makefile.config
,
change -O2 to -O3 and type
> make -kFinally, revert to the original
Makefile.config
file and then type
> makeThis process results in a code where -O3 has been used wherever possible.