next up previous contents
Next: Preparing Simulation Data for Up: Getting Started - Computing Previous: Getting Started - Computing

   
Installing EGO on Your Computer

Whenever any problems occur during installation or executing EGO, please have a look at the file readme.txt, which provides detailed and updated information to some known problems.

To install EGO do the following:

1.
Unpack EGO:
Create a subdirectory in your home directory $(HOME) (or elsewhere),
mkdir ego
cd ego
Copy the latest EGO distribution to this directory and unpack[*] it:
gtar -xzvf ego_viii.taz

2.
Setup environment for EGO:
A typical PVM installation for EGO will have the following files:
$(HOME)/pvm3
$(HOME)/pvm3/bin/ALPHA, $(HOME)/pvm3/bin/SUN4, etc.
$(HOME)/pvm3/include -> /usr/local/pvm3/include
$(HOME)/pvm3/lib -> /usr/local/pvm3/lib
The shell script $(HOME)/ego/ipvm, which should be sourced by your .login-file (if you use csh or tcsh), sets the following environment variables:
PVM_ROOT = $(HOME)/pvm3 and PVM_ARCH = ALPHA or SUN4 or SGI, etc.
Your .login-file should also set PVM_DPATH $(PVM_ROOT)/lib/pvmd. The following directories should be added to the PATH-variable:
$(HOME)/pvm3/lib and $(HOME)/pvm3/bin/$(PVM_ARCH)

For PARIX you have to set the environment variable PXSTACK to 1500000, which you may include to your .login-file. All calls to PARIX (e.g., Compiler, program start) are done via the shell script ppx, which comes with PARIX. This shell script manages all other setup for PARIX automatically.

3.
Compiling EGO:
Compilation of EGO (sequential version) and all utility programs distributed with EGO is done by typing
aimk

The shell-script aimk sets the environment variable PVM_ARCH which determines the type of the computer you use (e.g. SUN4, ALPHA, SGI5, etc.) automatically and starts gmake[*] for compilation. If you want to compile for a different architecture (e.g., PARIX and not SUN4) you can specify this as a command line option:
aimk -sys PARIX
or
aimk -sys PVM
In addition you can pass all the standard make flags, e.g.:
aimk CC=gcc CFLAGS=-O2
to use gcc and optimization level 2.

The makefile (Makefile.aimk) tries to do a decent job in assigning the correct compiler and flags, but sometimes you might have to help a bit. If you compile EGO on a hardware platform not yet supported, please let us know which compiler, flags, etc., you used and we will incorporate it into the makefile. The currently supported platforms are listed at the top of Makefile.aimk which looks like:

#########################################################################
# INFORMATION:
# set SYS from the command line like
# aimk [-sys <value>] [VAR=VALUE <goals>] [<goals>]
# to express what you want.
# Possible <value>s are:
# SEQ           sequential one node program
# SEQ_NANO      sequential one node program on the PARIX NanoKernal
# SEQ_SP2       sequential one node program for the SP2
# SEQ_DOS       sequential one node program for DOS/WIN95/WINNT (gcc)
# PVM           parallel PVM program on workstation cluster
# MPI           parallel MPI program on workstation cluster
# PARIX         parallel PARIX program on Parsytec system
# PPCPVM        parallel program under PVM on Parsytec system
...

The object files and the executable files of EGO and all auxilliary programs will be written to subdirectories named like the machine type on which the compiler was running (e.g., $(HOME)/ego/SUN4/, $(HOME)/ego/ALPHA/ , etc.). The executables are also copied to $(HOME)/pvm3/bin/<machine-type>. There are two executable files for PVM named ego (executable for master-task) and node (exectubale for the slave tasks). There is only one executable ego.px for PARIXand for MPI. As the PARIX compiler is a cross compiler running for instance on a Sun workstation, ego.px is located in the correspodning directory. Also one executable, named ego.<machine-type>, is created for MPI. The filename of the sequential version of EGO is ego_seq. If you want to compile only EGO for a run on a PowerXplorer excluding the auxilliary programs you have to type
aimk ego.px

The utility programs which are distributed with EGO are not parallelized, but run sequentially in any standard UNIX environment. These utility programs usually are compiled through the makefile for the sequential EGO version (aimk). You don't need PVM for these utility programs, but the makefile copies the executables to the directory pointed to by PVM_ROOT. Thus you must have a directory $(HOME)/pvm3/bin/<machine-type>, even if you don't use PVM. If such a directory does not exist, it will be made for you.

If you call any of these utility programs without parameters, the program prints out detailed explanations. As the number of utilities is still growing, refer to the file utilities.txt for the actual list of available utility programs included to your current copy of EGO. Some important utility programs are listed below:


next up previous contents
Next: Preparing Simulation Data for Up: Getting Started - Computing Previous: Getting Started - Computing
Helmut Heller
2000-04-19