next up previous contents
Next: Testing Up: Contents Previous: 1 Development Overview

Subsections

2 Installation

  This section describes the Planguage distribution and build. A complete build compiles the Planguage translators, libraries and test cases. It is possible that the build will use different compilers for different parts. Consider the T3E compiled for MPI. The test cases and libraries (PC and Pfortran) will use the MPI compilers, whereas the pfc and pcc translators will use the plain Fortran and C compilers.

The distribution is rooted at the directory plang and consists of the following three modules and their subdirectories

Pfortran
1.
src: Pfortran translator source
2.
libs: runtime libraries
3.
tests: tests of the Pfortran translator, pfc
PC
1.
src: PC translator source
2.
libs: runtime libraries
3.
tests: tests of the PC translator, pc
simulator
A configuration directory, config, contains scripts and makefile include files for various platforms and network interfaces.

2.1 Build Setup

  A set of environment variables determine what is built and the location of some key directories, such as the root, PLANG_TOP.

CVSROOT: The root of the Planguage CVS repository. Only necessary if you are using CVS.

PLANG_MPIBARRIER: (MPI only) If defined to 1, the MPI barrier is used. Otherwise the default Planguage barrier is used.

PLANG_MPIDIR: (MPI only) Your machine and site's location for the MPI include file, mpif.h. Planguage provides one from MPICH at plang/include.

PLANG_MPROCS: The maximum number of processes(ors) used for testing. See plang/pf/tests/runtests.pl or plang/pc/tests/runtests.pl.

PLANG_MPIRUN: (MPI only) The fully qualified name of Planguage script to run your systems mpirun; for linux try $PLANG_TOP/BIN/mpirun.

PLANG_NETINT: The network interface compiled for. Valid values at the moment are: mpi and isim. (See section 2.2.)

PLANG_PLATFORM: A platform designated by operating system and machine. Valid values at the moment are: linux. (See section 2.2.)

PLANG_SYSTEMS: The list of Planguage systems to build. Valid system names are: all, all+doc, doc, isim, pc, pclib, pctests, pfc, pflib, pftests.

PLANG_TOP: The top directory for the Planguage development or installation directory. For example, a developer might use : $HOME/plang

See the file plang/plangrc for an example.

2.2 Machine model

  For the purpose of the build, a platform represents a machine and operating system pair. Platform names are usually operation systems or machines. The platform name indicates compiler names and switches, and together, the platform and network interface determine the Planguage runtime library. See table 2 for the platforms supported, currently.


 
Table: The Planguage Platform Model.
platform machine operating system
ipsc iPSC/860 Intel NX
paragon paragon Intel NX
linux don't care linux
sp2 IBM SP2 AIX
solaris Sun solaris
sunos Sun SunOS
 




 
Table: Planguage Runtime Libraries
platform mpi nx pvm shmem isim
ipsc - pfnx_i x x x
irix - x pfpvm pfshm  
linux pfmpi x x - pfnx_i
paragon - pfnx_i x x x
sp2 pfmpi x x - pfnx_i
solaris pfmpi x - - pfnx_i
sunos pfmpi x - - pfnx_i
t3d pfmpi x - - x
where ``-'' implies not yet available; ``x'' implies not necessary.  



Note that a platform may have more than one network interface; for example, a linux Planguage program can use the simulator interface, or the MPI interface.

2.3 Build Instructions

  To build the distribution:
1.
source plang/plangrc with appropriately define variables.
2.
type ``make realclean'' (if any builds have been attempted).
3.
type ``make config''
4.
type ``make build''

To test the distribution type ``make runtests.''


next up previous contents
Next: Testing Up: Contents Previous: 1 Development Overview

Terry Clark
8/2/1998