GPU computing

GPU-accelerated computing uses a graphics processing unit (GPU) to accelerate computations in computer programs. Several applications in the SBGrid programs tree are GPU-accelerated. Some examples are RELION, GCTF, MotionCor2, Gautomatch, IMOD, etc. Here's what you need to take advantage of a GPU:

Requirements for GPU (CUDA) applications

NVIDIA Hardware

To use GPU-accelerated applications, you will need an NVIDIA GPU. We don't currently support other co-processors (Xeon Phi, AMD). If you think we should, let us know at bugs@sbgrid.org .

Not all GPUs are created equal - some applications are restricted to GPUs with a certain 'Compute Capability (i.e. of 3.5 or greater)'. You can check your card's rating and find more information on GPU computing here : https://developer.nvidia.com/cuda-gpus

Drivers

You linux workstation must have the proper drivers for your GPU. You can find drivers for your card here : https://developer.nvidia.com/cuda-zone

We currently support applications that rely on versions of CUDA 5 to 8 and these libraries are included with the SBGrid distribution. For best results, it is important to have a recent driver version if possible.

For more information on GPUs and RELION, check Erik Lindahl's blog at the Department of Biochemistry & Biophysics, Stockholm University, http://www.cryoem.se/relion-gpu

GPU questions? Want to use GPU support in an application and it's not working? Please email bugs@sbgrid.org