Compiling and Running ZPL Programs on force1

The ZPL compiler for Mercury RACE is currently installed on force1, a 4-node RACE 1.0 machine running MC/OS 4.x. The ZPL system on force1 is stable and corresponds to the version 1.17.70 of the compiler.

Our force1 provides a good environment for application development and prototype testing. However, for benchmarking, a machine running MC/OS 5.x is recommended.

Please contact drey@cs.uml.edu regarding bugs. For compiling errors, please include the verbose output of zc

force1 info

  • RACE 1.0 series

  • MC/OS 4.X

  • 4 - PPC 603 nodes with 16 MB DRAM

  • Sun Solaris host

How to use the ZPL compiler (ZC) on force1

  1. Log on force1

    % ssh force1

  2. Set the environment variables

    % source  ~drey/zpl/race_env

  3. Note: the environment file works for the tcsh shell only. Please create your own file with the appropiate changes if you use a different shell.

  4. cd to your working directory and compile your source file. For example, to compile the program jacobi.z:

    % zc jacobi.z

  5. Run the executable. Specify the number of processors in the command line:

    % jacobi -p4

Observations

Verbose flag

When compiling fails (due to some unexexpected error condition), turn the verbose flag (-v) on. This way you can get all the error messages.

% zc -v jacobi.z

License server

If you get an error message similar to:

Error -> License checkout failed for ccmc-ppc: Cannot 
	connect to license server (-15,12:61) Connection refused

you must turn the license server off. Using the command

% lmdown

then restart the license server, using:

% lmgrd

Deadlocks

If one or more workers are on deadlock on any CE, you must force the termination of one or more active processes. To kill all active process on all CEs, you can use the zkill command:

% zkill

Machine dependent flags

To get a list of all the machine dependent flags, call your compiled ZPL program with the help flag (-h)

% my_program -h


Comments to:
Demetrio Rey, drey@cs.uml.edu