Next: Testing
Up: Contents
Previous: 1 Development Overview
Subsections
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.
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.
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.
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: Testing
Up: Contents
Previous: 1 Development Overview
Terry Clark
8/2/1998