CX1 contains a small number of GTX Titan, K80 and P100 GPUs. These can be accessed by adding ngpus to the #PBS resource request. For example:

#PBS -lselect=1:ncpus=1:mem=8gb:ngpus=1

PBS will assign your job whichever model of GPU first becomes eligible to run your job. 

Within the context of the running job, the shell environment variable CUDA_VISIBLE_DEVICES will be set with indices of the allocated GPUs. Jobs must respect this setting, or they will interfere with other jobs co-located on the execution node.

GPU Models

The following GPU types are available:


Single precision /TFLOPS

Double precision/TFLOPS

Memory bandwidth/GB/s
Recommended use
P1000 1.8 <<1 4 80

Interactive use via Jupyter

Ensemble tasks: ML inference, molecular dynamics, image processing, etc

GTXTITAN 5.6 <1 12 336 Single tasks; ML training, molecular dynamics
K80 5.6 2.9 12 240 Numerical simulation
P100 8.0 4.0 16 730 Numerical simulation

To restrict a job to a certain GPU model, add gpu_type to the resource request. For example:

#PBS -lselect=1:ncpus=1:mem=8gb:ngpus=1:gpu_type=P1000
Only do this if you must have a certain type - your jobs are likely to spend much longer queuing as a result.