You are here

GPGPU computing

For a list of GPU facilities see the GPU and cluster computing page.

What is GPGPU computing?

GPGPU is general purpose computing using graphics processing units.

What kind of problems are suitable for GPGPU?

If your code involves lots of large loops, especially nested loops, consider using GPGPU. If the code within the loops can be reduced to a fairly simple algorithm, it's a good candidate. If your dataset fits - or can be made to fit - into the memory of the hardware, it's a very good candidate. If your code involves manipulating large matrices, GPGPU should be ideal. To get the best results you will have to do some fairly low level C programming.

Software

For all hardware you will need both a device driver and a development framework. In general, and for NVIDIA in particular, the driver will probably be proprietary. To be useful it must be compatible with both your hardware and your choice of development framework. There are two frameworks in general use:

CUDA
CUDA is NVIDIA's proprietary framework. It is mature, and runs C/C++ and Fortran code natively. Third party wrappers are available for languages including Python, Perl, Fortran, Java, Ruby, Lua, Haskell, R and MATLAB.
There are multiple versions, each in its own directory in /opt. Look for directories whose names begin with /opt/cuda and /opt/cuDNN.

You can select one by modifying your PATH and LD_LIBRARY_PATH bash environmental variables.

OpenCL
OpenCL (Open Computing Language) is an open standard heterogeneous platform. Code runs natively in C99, with APIs available in a number of programming languages (python, julia, Java, C++).

GPUs in Informatics

The School has a number of clusters and computers equipped with GPUs. For a list see the GPU and cluster computing page.

They mostly have NVIDIA based GPUs and a common software set based largely on standard DICE desktops, with added software driven by user request. If you'd like extra GPU software, or if you'd like CUDA added to your DICE desktop, just ask Computing Support.

Before purchasing GPU hardware, do ask Computing Support for advice; and if you plan to use University funds, for instance a research grant, you should definitely read our IT procurement page.

Last reviewed: 
30/05/2022

System Status

Home dirs (AFS)
Network
Mail
Other services
University services
Scheduled downtime

Choose a topic