Follow the steps below to develop and compile code for the NVIDIA Tesla graphic processing units.
Step 1
Log on to the Grid.
Step 2
Start an interactive job. This will put you on a compute node. Never run jobs or compile on the head node Warrior. All GPU's are in the gpu QoS.
In this example, we submit to the gpu QoS, request 2 GPU's, 2 cores, and v100 GPU's specifically. All nodes and their respective resources can be found on the Available Nodes page.
Type: srun -q gpu --gres=gpu:2 -n2 --constraint="v100" -t 10:0 --pty bash
Here is a breakdown of the 'srun' parameters used in this command:
-q |
Specifies the QoS. GPU's are the gpu QoS. This is a required parameter, your job request won't be submitted without it. |
--gres |
This is the generic resources required per node. To ask for 3 GPU's it would be: --gres=gpu:3. |
-n |
The total number of cores. |
--constraint |
Used to specify nodes with certain features, --constraint=<feature-name>.
See tutorial on how to utilize constraints. In this example we are requesting nodes with v100.
|
-t |
Sets the maximum time limit. This is a required parameter, your job request won't be submitted without it. |
--pty bash |
Requests an interactive job. |

There may be a wait time to get allocated your requested resources. You can check the predicted start time of your job, or rather the latest time it could possibly run. Open a new window and log on to the Grid. Type: qme -t

Step 3
Once your job has been allocated, load the cuda/10.0 module. Type: module load cuda/10.0
Step 4
You can find the path for the modules. Type: which nvcc
Step 5
From here you can create and compile programs. Once you are finished, you can exit the interactive job by typing exit or pressing Ctrl D.