We are going to post resources that should be useful for you in completing your projects.
Please feel free to submit any additional resources that will help your fellow students!
 

Blue Horizon

Cray T90


Linpack
 


General

General introductions to parallel machines / parallel programming


Writing Research Papers



Class info for T90:
 

  • 5/18: Try out the benchmark on the T90!

  • Hints for Blue Horizon:

    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    The Linpack test is availiable for the students in Sid's class to run.  All files are in /work/leary/scalapack.tar   - just have the students copy this tar file to their work directories on Blue Horizon (which should be of the form /work/uxxxxxx ) , and extract the various files with the command
    tar xfv scalapack.tar
    They will have to modify the run script lp4 so that the lines
    # @ initialdir = /work/leary
    and
    poe /rmount/work/leary/scalapack.out
    point to their own work directories rather than /work/leary

    The executable is  scalapack.out , the data file is LU.dat, and the batch submission script I use to run a 4 node, 32 processor test case is /work/leary/lp4.   (The batch submission command is 
    /usr/local/bin/llsubmit lp4).   The data file is set up to run 5 cases for square systems of size 1000  2000 4000 8000 16000  (note that there is a line in the data file for both the row size and the column size - I recommend just running the square cases where these two lines are the same)

    The sample ouptut from this run is also included as LL_out.20001.  The CPU time should be ignored - it is the wall clock time and MFLOP rate that is relevant.

    Note the students can revise the script to run on any number of nodes  (just change the @node=4,4 line to the desired number).  Since there are two processes per node (and 4 threads/process), the total number of processes is 2*number of nodes, or 8 in the sample case on 4 nodes.  The integers P and Q (2 and 4 in the sample LU.dat file) are chosen so P*Q=2N  (i.e. the processes are put into a virtual P by Q array).  Thus P and Q will also have to be changed in the LU.dat file if the number of nodes is changed.  Also, there are roughly 256 million words of memory available per node for storage of the matrix; thus the largest matrix that can be run on N nodes (8N processors) is about  16000*sqrt(N) - e.g. for N=4 the limit  a system size of 32000 (actually, the limit is a bit higher than this, but this is a good rough guide).

    This is in fact the identical code used to generate the TOP500 LINPACK numbers.

    Useful exercises might be to try to figure out R_peak, the maximum Gflop rate for several numbers of nodes (up to say 16 or so - it starts to get expensive after this) and N_1/2, the equation system size at
    which half this peak speed is reached.  Generally peak speed increases with equation system size, since the total amount of communication scales with the square of the system size, while the floating point work scales with the cube.

                          >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.