To run an mpC application on a described VPM, the user should proceed as follows:

  • xxxxxx x xxx xxxx xxx xxxxxxxxx xxxxxxx. xxxxxxxxxxx xxxxx xxx xxxxxxxx, xxx xxx xx xxxxxx.

  • If the VPM has been created earlier, open it using the mpcopen command.

  • xxx xxx x xxxxx xxxxxxxxx xx xxxxxxx xxx xxxxxxxxxx xxxx xxxx xxx $xxxxxxx xxxxxxxxx xx xxx xxxx xxxxxxxxxxx, xxx xxxxxxxxx xxxx xxxx xxx xxxx xxxxxxxxxxx xx xxx xxxxx xxxxxxxxx xxxxx xxx xxxxxxxx xxxxxxx.

  • Create an executable file on each computer using the mpcload command.

  • xxx xxx xxxxxxxxxxx xxxxx xxx xxxxxx xxxxxxx.x


  • xxxxxxxxx xxxxxxxx xxx xxxxxx xx xxx xxx xxx xxx xxx xxxxxxxxx,

  • mpcclean cleans the VPM,

  • xxxxxxxxx xxxxxxxxxx xxx xxxx xxxx xxx xxx, xxx

  • mpcmach prints the VPM’s name.

xxx xxxxxx xxxxxxxx xxxx xxx xxx xxxxxxxxxxx xxxxxxxxxxx xxx xxxxxxx x.xx.

D.8.1. mpccreate

The command

mpccreate <name>

xxxxxxx x xxx xxx xxxx xxx xxxx xxxxx xx xxx xxxxxxxx. xxx xxxxxxx xxxx xxx $xxxxxxx/<xxxx> xxxxxxxxxxx xxxx xx x xxxxxxxxxxxxx xx xxx xxx. xxx xxxxxxx xxxxxxxx xxx xxxxxxxxx xxxxx xxxxxxxx xx xxx xxx xxx xxxxxxxxxxx xxx xxx xxx.

In particular, this command creates the $MPCTOPO/<name>.topo file that contains a description of the performance characteristics of the VPM and is used by the RTS at runtime. For each SMP computer, the file contains two lines of the form:

# <name_of_computer> s<number_of_processors> p<performance> n<number_of_processes> ...

xxxxx <xxxx_xx_xxxxxxxx> xx xxx xxxxxxxxxx xxxx xx xx xxxxxxx xx xxx $xxxxxxx/<xxxx> xxxxxxxxxxx xxxx, <xxxxxx_xx_xxxxxxxxxx> xx xxx xxxxxx xx xxxxxxxxx xxxxxxxx xxxxxxxxxx xx xxx xxxxxxxx, <xxxxxxxxxxx> xx xx xxxxxxx xxxxxx xxxxxxxxxxxxxx xxx xxxxxxxxxxx xx xxx xxxxxxxx xxxxxxxxx, xxx <xxxxxx_xx_xxxxxxxxx> xx xxx xxxxxx xx xxxxxxxxx xxxxxxx xx xxx xxxxxxxx. xxx xxxx xx xxxx xxxx xxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxxxx xx xxx xxxxxxxx. xx xxxxxxxxx xxxxxxxx xx xxx xxxx xxxxx xxxxxxxx xx xxx xxx, xxxxx xxx xxxxxxxxxxxxx xxxxxxxx xxxxxxxxxxxxxxx xxx xx xxxxx xxxxxx xx xxx xxxxxxxxxx xxxxxxxx xx xxx xxxx xx xxxxxxxxx xxx xxxxxx xxxxxx xxx xxxxxxx xx xxx xxxxxxxxx xxxxxxx.

Once created, the VPM is accessible to be opened by mpcopen. Note that mpccreate is an expensive command performing a lot of computations and communications, so it may take a few minutes to create a new VPM.

D.8.2. mpcopen

xxx xxxxxxx

mpcopen <name>

initializes a VPM specified by its argument. The VPM must have been created earlier. Having been opened, the VPM is accessible for mpcbcast, mpcload, mpcrun, mpcclean, mpctouch, mpcmach, and mpcclose.

D.8.3. mpcbcast

xxx xxxxxxx

mpcbcast [<file1> <file2> ... ]

broadcasts files listed from the directory $MPCLOAD on the user’s workstation to the directory $MPCLOAD on the other computers of the current VPM. Only file names without paths must be given.

D.8.4. mpcload

xxx xxxxxxx

mpcload [-het] -o <target> [<file1>.c <file2>.c ... ]    [<file01>.o <file02>.o ... ][<file11>.a <file12>.a ... ]    [<options_to_all_nodes>][-host][<options_to_host_only>]

produces executable <target> in the directory $MPCLOAD on each computer of the current VPM. Do not use a path in <target>.

xxx xxxxxxx xxxxxxxx xxx xxxxxxxxxx xxxx .x, .x, xxx .x xxxxx. xxx xxxx xx xxxx xx xxxxx xxxxx xxxxxx xxx xxxxxx xx xxxx xx xxx xxxx xxxx. xx xxx xxxxx xxxx, xxx xxxx xxxx xx xxxx xxxxxxxx xx xxx xxxxxxxxx $xxxxxxx.

Option –het must be used if computers of the VPM are not binary compatible. The user may use the option even if all the computers are binary _compatible.

xxxxxx xxxxx xxxxxxxxx xxxxxxx xxxxxxx, xxxxxxx xx xxx xxxxx, xxxx xxxxxxxx xxxxxxx, xxxx xxxxxxx xx xxx xxxxxxxx xxxxxxxxxxxxxxxx xxxx. xx xxxxxxxx, xx xxxx xxxxxx xxxxxxx xxxx:

  • The executable for the abstract host-processor will be produced from files whose names have suffix _host;

  • xxx xxxxxxxxxx xxx xxx xxxxx xxxxx xxxx xx xxxxxxxx xxxx xxxxx xxxxx xxxxx xxxx xxxxxx _xxxx.

<options_to_all_nodes> and <options_to_host_only> may be any proper C compiler options. Note that if option –c is used, and hence <target> is an .o file, then option -host will not be allowed.

D.8.5. mpcrun

xxx xxxxxxx

mpcrun <target> [– <params>]

runs the mpC application <target> on the current VPM passing parameters <params> to this application. Do not use a path in <target>.

D.8.6. mpctouch

xxx xxxxxxx

mpctouch [-p]

checks the status of the current VPM and prints it. The VPM may be ready or busy. With option –p, the status of all nodes is printed.

D.8.7. mpcclose

xxx xxxxxxx


closes the current VPM.

D.8.8. mpcclean

xxx xxxxxxx


cleans the current VPM and makes it ready to run a new mpC application. This command should be used in the case of abnormal termination of the previous command or mpC application.

D.8.9. mpcmach

xxx xxxxxxx


prints the name of the current VPM.

D.8.10. mpcdel

xxx xxxxxxx

mpcdel <name>

deletes a VPM specified by its argument, which means deleting all system files associated with this VPM.

Parallel Computing on Heterogeneous Networks
Parallel Computing on Heterogeneous Networks (Wiley Series on Parallel and Distributed Computing)
Year: 2005
Pages: 95

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net