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