[ skip to content ]

Department of PhysicsComputational Cluster

MATRIX Beowulf Cluster

  • Hardware
  • Software
  • Getting Started
  • Compilers
  • PBS Pro


  • Master node: dual processor Intel Xeon 2.4GHz with 2 GB of RAM, 120 GB HDD (mirrored)
  • Nodes (1-24) 48 Intel Xeon 2.4GHz processors, 512 MB of RAM and 40 GB HDD per node
  • Gigabit Ethernet
  • Supplied by Atipa


Matrix - Department of Physics Computational Cluster

Getting Started

Step 1: Account

To get an account - contact Dr. Alex Godunov: agodunov@odu.edu

Step 2: Login

Connect to Matrix on matrix.physics.odu.edu using SSH, PuTTY, etc.

Step 3: Compiling

  • The Portland Group Server (full suite of parallelizing F77, F90, HPF, C, C++ compilers and development tools)
    • pgf77 - Fortran 77
    • pgf90 - Fortarn 90
    • pghpf - High Performance Fotran
    • pgcc - C
    • pgCC - C++
  • standard compilers under Linux
    • gcc - C
    • g++ - C++
    • g77 - Fortran 77

For more information on command-line options for each compiling system, see the man pages
(man pgf90, man pgcc, man pgCC, etc.).

Step 4: Submiting a job

Normally jobs should be submitter using PBS Pro, unless you request a very short time (less then 1 minute). PBS Pro is the professional version of the Portable Batch System, a flexible workload management system, originally developed to manage aerospace computing resources at NASA. PBS has since become the leader in supercomputer workload management and the de facto standard on Linux clusters.

Step 4.1: Prepare a script

To submit a job to the scheduling system (PBS Pro), you have to prepare a script say, (my_script) containing the set of commands you want run on some set of execution machines. It also contains directives which specify the characteristics (attributes) of the job, and resource requirements (e.g. memory or CPU time) that your job needs. Here is an example script that will submit the job, and run the executable a.out

#! /bin/sh
specifies which shell to use to execute the script.
the job will be executed in the current working directory
time ./a.out run a.out and get time stamp

Or more sophisticated script

#! /bin/sh
specifies which shell to use to execute the script.
#PBS -l nodes=8 number of processors required by job.
#PBS -l walltime=1:00:00 Maximum amount of real time in the running state.
#PBS -o test.out output file; (collects stdout)
#PBS -e test.err error file; (collects stderr)
the job will be executed in the current working directory
time ./a.out run a.out and get time stamp

Step 4.2: Submitting the job to the queue

If you have the above script saved in a file named my_script , the following command will submit the request:
qsub my_script

You can use the qstat command to monitor the progress of the resulting batch job. "Q" means that your job is queued and waiting, "R" that it is running, "E" that it is exiting

With qdel you may delete your job.

For more information on PBS command-line options, see the man pages (man qsub, man qstat, man qdel).

To report problems and bugs or to ask for help, write to agodunov@odu.edu