Attention: Confluence is not suitable for the storage of highly confidential data. Please ensure that any data classified as Highly Protected is stored using a more secure platform.
If you have any questions, please refer to the University's data classification guide or contact ict.askcyber@sydney.edu.au

GPU

To take advantage of the GPU accelerated compute nodes, your code will need to be modified to run in the hybrid GPGPU environment.

CUDA C code compilation

Load the CUDA module to access the NVIDIA CUDA compilers:

module load cuda/9.1.85

which places the nvcc compiler in your path. See the NVIDIA CUDA programming guide for more details.

CUDA Fortran and OpenACC code compilation

To compile code written with CUDA Fortran or OpenACC directives, load the latest PGI compiler module. Include the compiler argument -ta=tesla to compile for Artemis's GPUs.

module load pgi/18.1


MPI CUDA C compilation

To compile MPI CUDA C programs, load the CUDA-aware OpenMPI module and the CUDA module before compiling with nvcc:

module load openmpi-gcc/3.0.0-cuda
module load cuda/9.1.85

To run MPI CUDA code, assign MPI processors to the number of GPUs available to your job. An example PBS script to run a MPI CUDA job is:

#!/bin/bash
#PBS -P Project
#PBS -l select=1:ncpus=36:ngpus=4:mpiprocs=4:mem=185GB
#PBS -l walltime=10:00:00
#PBS -j oe

module load openmpi-gcc/3.0.0-cuda
module load cuda/9.1.85

cd $PBS_O_WORKDIR
/path/to/my_cuda_executable arg1 arg2 > output.log