[View runpcn.c] 


PCN Abstract Machine Emulator
Authors:     Steve Tuecke and Ian Foster
             Argonne National Laboratory

Please see the DISCLAIMER file in the top level directory of the
distribution regarding the provisions under which this software
is distributed.

		Running on iPSC/860

To run the system, log into the iPSC/860 front end (SRM).  At this
point, you can still only run it from the SRM, even though there is no
host PCN node on the SRM -- the SRM takes care of loading PCN on the
nodes, etc.  Then you can run the pcn.ipsc860 executable in one of two
ways: directly, or by way of the 'runpcn' program in the directory.

To run pcn.ipsc860 directly, you would do the following:

% getcube -t 4
% load pcn.ipsc860 -k 700; waitcube
% killcube
% relcube

Unfortunately, there are some problems associated with running it this
way.  If you try to kill the emulator with ^C, only the waitcube will
be killed.  So output from the emulator will keep coming.  The
killcube will still work.  But if the emulator is spewing lots of
output, you have to type the killcube while this output is flying at

A better way of running pcn.ipsc860 is to use either the 'runpcn' or
the 'pcn' program included in this directory.  

If 'runpcn' and 'pcn' are not yet installed, log into the SRM, change
to the top level PCN source directory, and type:


Altenatively, to only install 'runpcn' and 'pcn', log into the SRM,
change to this directory, and type:

	make pcn runpcn
	make install

Assuming there is a 'pcn.ipsc860' executable in the current directory,
the above four commands can be replaced by:

% runpcn -t 4 -k 700

Alternatively, if you want to do the getcube/relcube yourself (perhaps
so that you don't have to give up your nodes, or if you are going to
run pcn multiple time), you can do:

% getcube -t 4
% runpcn -k 700
% relcube

You can get the syntax for runpcn by running 'runpcn -h'.  It is:

	runpcn [-t <cubetype>] [<pcn_executable>] [<pcn_args> ...]

In other words, the (optional) cubetype must come first.  If this
argument is left off, it is assumed that a getcube was already done.
Otherwise, runpcn does the appropriate getcube and relcube.

After the cubetype, the iPSC/860 node executable is (optionally)
specified.  If this argument is left off, the default name of
'pcn.ipsc860' is used from the current directory, if the file exists.
Otherwise, a default node executable (i.e.
/usr/local/pcn/bin/pcn.ipsc860) is used.

Finally, the pcn emulator arguments are (optionally) given.

Alternatively, you can use the 'pcn' program in this directory to run
the node executable.  The 'pcn' uses 'pcn.ipsc860' in the current
directory if it exists, otherwise '/usr/lcoao/pcn/bin/pcn.ipsc860'.
It just passes all of its arguments through to the node executable.
So to run it, you would do something like:

% getcube -t 4
% pcn -k 700 
% relcube

'pcncc.ipsc860' can be used just like all the other versions of pcncc.
To create a version of the emulator for the iPSC/860 that has file.o
linked in and has the name 'mypcn', log into the cross compilation
machine and run:

% pgcc -c file.c -node
% pcncc.ipsc860 file.o -o mypcn

Then to run it:

% runpcn -t 4 mypcn


% runpcn -t 4 mypcn -k 700


% getcube -t 4
% runpcn mypcn
% relcube

or whatever.

By default, pcncc.ipsc860 produces a node executable called 'pcn.ipsc860'.

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.