UCLA Parallel Computing Laboratory

Using Maisie

This document is primarily intended for UCLA students who are writing parallel Maisie programs for class or research. A set of Maisie documentation is available online at http://pcl.cs.ucla.edu/projects/maisie/, including tutorials for parallel programming and simulation, and the user's manual.


How to use Maisie on CS machines

If you are a graduate student in the CS department, you should have an account on the CS machines. If so, you can use the *sequential* implementation of Maisie available on the departmental server. It is located in /r/misc1/maisie/solaris_maisie (the compiler is in /r/misc1/maisie/solaris_maisie/bin). If you want to use the parallel implementation, or if you don't have an account on the CS machines, you have to use Maisie on the OAC IBM SP2 (see below). For more detailed information on compiler flags etc., see below (and the manual).

How to use Maisie on the IBM SP

To login, type:
  
  rlogin cluster.oac.ucla.edu -l login_id

Setup

In general, maisie runs better with tcsh, so if you want to change your default shell to tcsh, use chsh.

Add the following to your default path:

  ~ieczmay/maisie/bin
If your default shell is /bin/csh, you can do this with the following command:
  set path=($path ~ieczmay/maisie/bin)
In order to run maisie programs on the SP, you need to set three environmental variables. For convenience, you may wish to place these definitions in your .cshrc file.
  setenv MP_PROCS    4        #or number of processors you wish to use
  setenv MP_HOSTFILE hostfile #hostfile is a list of nodes, see below
  setenv MP_EUILIB   ip
In order to run your program on multiple processors, you need to create a hostfile (a regular text file) in the current directory. The contents of the file should be:
  alpha
  beta
  gamma
  delta
  f01n09.sp
  f01n10.sp
  f01n11.sp
  f01n12.sp
  f01n13.sp
  f01n14.sp
  f01n15.sp
  f01n16.sp
These are the names of the SP2's interactive nodes (processors).

Compilation

To compile your maisie program, type:
  mc -sync mpc -o binary_name program_name
To run your program, type:
  binary_name -procs 4
(if procs is not specified, MP_PROCS is used)

Troubleshooting

Due to a bug in the compiler, you must: For more information check out ~idpbbsp/maisie/README, ~idpbbsp/maisie/PARALLEL.NOTE, ~idpbbsp/maisie/manual/manual.ps and gopher://cluster.oac.ucla.edu

Getting Better Times

As you will notice, the timing results you get on the SP2 are very inconsistent. In part, this is because the machine itself is having problems mounting the filesystems. It is also due to inconsistent loads.

Of perhaps equal significance, when you run your programs interactively, the different nodes use standard IP to communicate, instead of using the high-speed interconnect mechanism. In order to better utilize the system, there is a command for submitting jobs to non-interactive nodes. There is a script for submitting jobs to run in "batch" mode at ~ibuzram/bin/submit.sh.

The syntax is as follows:

	submit.sh (p or x) (us or ip) procs (your command and its parameters) 
where A sample call could be:
  submit.sh p us 8 mmult -input i16 -output o16 -block 4
which would run on a set of 8 shared processors using the underlying communication system.

The following supplementary commands are also available.


Written by Richard A. Meyer with input from Brian Park and Yuan Chen.
Last updated