• National Institute for Computational Sciences is a UT/ORNL Partnership

Nautilus GPGPU

Compiling for GPUs

CUDA is installed and available for users. Simply find the version you would like to use and add it to your path by,

module avail cuda
module load cuda/4.0RC2 (to load version 4.0RC2)

This module has libraries for CUDA and OpenCL programming. One will need the -lcuda or -lopencl flags for CUDA or OpenCL, respectively.

Disclaimer: If you would like to use more than 4 GPUs per job, please contact help@xsede.org

Scheduling of GPUs

For both batch and interactive jobs that utilize GPUs one can request this resource by -l gpus=N. Currently, there is a limitation in that Moab interprets this value as GPUs-per-core, which may take some time to resolve. In the meanwhile, the following combinations are known to work:

-l ncpus=[1-2],gpus=[1-2]

To determine which GPUs one has allocated, the environment variable $PBS_GPUS can be used. For example, here is the result for a job that requests four GPUs and four CPUs (-l ncpus=2,gpus=2):

> cat $PBS_GPUS
/dev/nvidia1
/dev/nvidia0
/dev/nvidia3
/dev/nvidia2