next up previous contents index
Next: Running the DALTON test Up: Installation Previous: Source files   Contents   Index


Installing the program using the Makefile

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 -hosttype
where 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:

  1. Scratch memory size: Dalton uses approximately 6.5 Mwords (54 Mbytes) in static memory allocations. The program defines a large scratch-memory array, from which it allocates space for temporary arrays during the execution of the program. This value is given in Words, and should be chosen according to available memory on your computer. WRKMEM may be changed at execution time by supplying a different value for WRKMEM through the shell script running DALTON.

  2. Default basis set library location: This defines the directory where the program will look for the basis sets supplied with the distribution, and this need to be changed according to the local directory structure. We recommend that the basis sets in this directory are not changed, but that changes to the basis set rather is done in a separate directory, and then supply this basis set directory to the program at execution time using the 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

  3. Default scratch space: Determines the default head scratch directory where temporary files will be placed. This value will be put in the 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.

  4. Default install directory: Denotes the directory where the DALTON executable and the 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 -k
Finally, revert to the original Makefile.config file and then type
 
> make
This process results in a code where -O3 has been used wherever possible.


next up previous contents index
Next: Running the DALTON test Up: Installation Previous: Source files   Contents   Index
Dalton Manual - Release 1.2.1