STATIC: Installation
 
Version 1.25
Creation Date: 27 Aug 2002
Last Modified: 28 Aug 2002
 

The source code for Version 1.25 of static is designed to be compiled into a serial version for use on single processor PCs, workstations, and vector computers, or into a scalable parallel version for use on multiprocessor systems. Both versions use identical input files and produce essentially identical output. Users choose between the serial and scalable versions at build time by choosing the appropriate Makefile (see below).

static is written in Fortran-77, using MPI calls for scalable parallel performance, and a fake MPI library when running the serial version. In serial mode the code has been tested on a variety of CPUs, using various operating systems and compilers. It should be possible to run this code on any computer with a valid Fortran-77 compiler, provided the makefile is edited to reflect the appropriate compile and link options.

When compiled as a scalable parallel code, static uses the Message Passing Interface (MPI) standard for passing information between processors. It should, therefore, be quite portable between systems. The program runs on the following platforms:

Scalar Platforms

Parallel Platforms (with MPI):

The static code should compile easily on other architectures using the native Fortran-77 compiler. The code makes calls to BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear Algebra PACKage). If these are not available on the target machine, you may try using the ATLAS (Automatically Tuned Linear Algebra Software) libraries. Alternatively, we provide Fortran versions of the necessary BLAS and LAPACK routines with our distribution.

The program will be tested on other computer architectures. Porting should involve only the changes in the makefile to reflect the system's MPI, Fortran, and linker installation. In the meantime, users are encouraged to attempt to port this code to other systems using MPI and Fortran-77. Please report both problems and successes to mehl@dave.nrl.navy.mil (Privacy Advisory). We would also appreciate a copy of the makefile used with this system, provided you are willing for it to be distributed.

The source code for static is password protected. See Obtaining the Source Code for more information.


Installing and compiling the code

The static code can be downloaded routine by routine, but it is best to get the gzipped tarball, ALLSOURCE.tgz. Once you have this package, break out the individual files using the command

gzip -cd ALLSOURCE.tgz | tar xvf

Copy all the files including the files P1, P2, P3, and the appropriate makefile into a working directory.

There are three parameter files, P1, P2 and P3, which should be edited to reflect the type of calculation you wish to perform.

Now that the parameter files have been properly edited, the program may be compiled using make. Several architecture-dependent Makefiles are bundled into the distribution, e.g.

	 $ ls -l makefile.*
	 -rw-r--r-- 1 user group 4679 Aug 23 13:16 makefile.absoft
	 -rw-r--r-- 1 user group 4053 Aug 22 17:14 makefile.aix.parallel
	 -rw-r--r-- 1 user group 3847 Aug 22 17:14 makefile.aix.single
	 -rw-r--r-- 1 user group 5831 Aug 22 17:14 makefile.alpha
	 -rw-r--r-- 1 user group 4209 Aug 22 17:14 makefile.g77
	 -rw-r--r-- 1 user group 4270 Aug 23 15:15 makefile.intel
	 -rw-r--r-- 1 user group 4263 Aug 23 13:57 makefile.pg
	 -rw-r--r-- 1 user group 3992 Aug 22 17:14 makefile.sgi

If one of the makefiles matches your system, say for the SP2, you can directly compile the program:

$ make -f makefile.aix.parallel

works on an IBM. Note that many routines have multiple options, in which case you can specify one of them on the command line. For example, to use the ATLAS libraries with the Absoft Linux compiler, edit the NLIB statement in the makefile to point to the proper libraries, and then give the command

$ make -f makefile.absoft newblas

If your system does not appear on the list above, edit the makefile which most closely matches your system, and run make on that file.

When changing compilers or compiler options, it is best to do a clean command, e.g.

$ make -f makefile.absoft clean

before starting compilation. This removes all the old object files and forces recompilation of every routine. Note that you do not have to do a clean if you are only changing values of the P[1,2,3] files, as the makefile will determine which routines need to be recompiled.

More information and options for this program are contained in the INSTALLATION file contained in the distribution.

IMPORTANT: On a single processor machine static uses the mpifake.f file to mimic several MPI subroutines, and mpifake.h to mimic the mpif.h header file. In order for this to work your makefile must copy mpifake.h to mpif.h before any routines are compiled. See makefile.absoft for one way to accomplish this. Note that, as far as the code is concerned, mpif.h could be an empty file.


static Home Page   Introduction   About Version 1.25   Installation   List of Files   Usage   Input Files   Output Files   Trouble Shooting   Appendix


Current URL: http://cst-www.nrl.navy.mil/bind/static/installation.html

Valid XHTML 1.0!