Software and Hardware Testbeds used in the course


A Beowulf cluster named Valkyrie is our main compute platform. Valkyrie operates using the Rocks system developed at the San Diego Supercomputer Center and runs the Linux Operating system. Valkyrie consists of 16 dual 1Ghz Pentium III CPUs. Each node has 1GB of RAM, and a Myrinet switch provides low latency connectivity between the nodes. There is a web page telling you more about Valkyrie's CPUs.

Here are some notes to help you get started with Valkyrie.


The following software tools will be available in the course


The Message Passing Interface (MPI) was developed by committee, packaged as a subroutine library, and is standard fare these days.

Click HERE for a list of documentation and tutorials for MPI.

PPF - Parallel Print Function

PPF is the Ptools consortium parallel print facility. The library has been installed in valkyrie:$(PUB)/lib/PPF, with examples in $(PUB)/examples/PPF. See the README file for further instructions.

SPRNG random number generator

SRNG is a 48 bit Linear Congruential Generator, specially designed to run on parallel processors. See the documentation. Our "arch" files are set up for the appropriate compiler and loader flags used to invoke SPRNG, but if you are interested, look at two example programs written in C that has been taken from the SPRNG distribution. These are installed on Valkyrie at PUB/spring_ex/sprng-simple_mpi.c and PUB/spring_ex/sprng-simple.c. More generally, you may find many examples in PUB/lib/SPRNG/EXAMPLES/.

Intel Math Kernel library (MKL)

The Intel Math Kernel Library (MKL) provides high performance implementations of common numerical functions like Matrix Multiplication and the FFT.

To link with MKL use the following on your load line

	-L/opt/intel/mkl/8.0/lib/32 -lmkl -lguide -lpthread -lm

Documentation can be found at .


Matlab is a handy problem solving environment and scientific programming language. It supports rapid prototyping and nice plotting capability. A large collection of Matlab scripts are available for a wide range of application domains; see the Mathworks web site at for an archive. Matlab is available on CSE Department machines, and you may access is from your CSE graduate student account using the default PATH. (If you don't have a CSE account, see me) The Department has a site license for Matlab, so you may install the software on your own machine. It is also available via your graduate student account.
Python is a scripting language that supports rapid prototyping. It is accessible on department APE lab Suns.

Threads (Pthreads)
Threads are used for shared memory programming.  One popular interface is Pthreads. Click Here for more information.

Gnuplot is a publicly available plotting program. For documentation, see

Maintained by . Last modified: Mon Jul 3 05:26:25 PDT 2006