| Date | Description |
| 10-Oct-12 | Original posting |
| 19-Oct-12 | Notes about using Dirac |
| 21-Oct-12 | Comment about node configurations |
Dirac is a GPU cluster located at the National Energy Research Scientific Computing Center (NERSC) in Berkeley, California. For documentation and other information about Dirac, consult Dirac's web site.
To access Dirac, we first log into a machine known as Carver, Dirac's front end. Unlike other machines used in the course, Carver runs the C-shell by default. Shell syntax and the profile files are handled differently under the C-shell than under bash, which is used on the other machines.
Login to carver.nersc.gov and then run the following commands.
cd /global/u2/b/baden/cse260-fa12/Profiles cat ALIASES >> $HOME/.aliases cat CSHRC.ext >> $HOME/.cshrc.ext
Once you've copied the files, log out and log in. $PUB will be defined as /global/u2/b/baden/cse260-fa12. You'll have certain handy commands at your disposal, which we'll describe soon.
To establish that your environment has been set up correctly, make a copy of the incrArray program, which is found in $(PUB)/Examples/CUDA. Compile and run the program in your home directory by typing "make."
You may run Dirac GPU jobs interactively via the interactive queue. The procedure for using an interactive node is similar to what you've used on Bang, though the syntax is a little different. To this end, your .aliases file defines an alias "qsubI", to to attach to an interactive node for 30 minutes.
% qsubI qsub: waiting for job 3467422.cvrsvc09-ib to start qsub: job 3467422.cvrsvc09-ib ready
To collect timings you should always submit a non-interactive batch job. All such jobs have dedicated access to the node(s) allocated. As with Bang, we submit batch jobs with the qsub command, and monitor the jobs with qstat. A sample batch script called "batch_dirac.sh" has been provided with the incrArr application.
You must use qsub to run jobs on Dirac.
It is not possible to run GPU jobs on the front end; if you attempt to do so,
you'll get an error message:
Cuda error: Get Count: CUDA driver version is insufficient for CUDA runtime version.
Note that, the NERSC documentation about node configurations is a little unclear since it says we can either request a Fermi or a Tesla node. The Fermi node is actually a Tesla model, too, in our case a Tesla C2050. Fortunately we can specify which architecture to run on. The batch script and the provided alias command qsubI both specify that we are requesting a Fermi node. The qsub parameter is:
-l nodes=1:ppn=8:fermi