Previous Up Next

Chapter 2  The Mspml tools

2.1  Compilers

The MSPML library contains some script to ease the compilation of programs using it. There are two generic scripts mspmlc for bytecode compilation and mspmlopt for native code compilation. These scripts should be used as the corresponding Objective Caml compilers. There is only additional options:
-seq
indicates that the program will be compiled using the sequential version of the library
-tcp
indicates that the program will be compiled using the parallel version of the library built on top of TCP/IP
-tcpdebug
indicates that the program will be compiled using the parallel version of the library built on top of TCP/IP with possibility of verbose mode (using the set_verbose function). The printed informations are:
1 : Messages from main thread (START,STOP,SYNC)
2 : Messages from main thread (MSTEP)
4 : Messages from main thread (STORE,RESETS MSTEP)
16 : Messages from communication thread
32 : Messages from req (may be in the main program or threads)
64 : Messages from communication_handler (threads)
128 : Messages for locks

2.2  mspmlrun

When a program is compiled using a parallel version of MSPML, mspmlrun is needed for its execution.
Use:
    mspmlrun [options] program_name arguments 
to run the program "program_name" with arguments "arguments".
By default, the list of nodes is read from the file "mspmlnodes" in the current directory or then from the file " /.mspmlnodes". The TCP/IP port is 3000. The asynchony depth is 100. The shell is ssh. The options are:
-nodes file
reads the list of nodes from file "file"
-ssh
the shell is ssh
-rsh
the shell is rsh
-local
the different copies of the program are run as Unix tasks
-depth d
the asynchrony depth is set to d
-port p
the TCP/IP ports used range from p to (p+number of nodes-1)
-v
gives the version of MSPML
The files which contain the list of node must be a list of IP addresses or hostnames, one per line. The asynchrony depth is the number of msteps before a global synchronization barrier. It is needed to avoid memory leak.

2.3  /.mspmlrc

This file should be created. It contains the parameters l and g of the parallel machine for each number of processors. Each line of this file is written: p,g,l where g and l are floats. The first line of the file is used for the sequential library. For example, with:
4,1.,10.
the sequential library will simulates a 4 processors machine with g and l parameters respectively equal to 1 and 10.


Previous Up Next