gpu

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, AmberTools, 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 7.5 to 10 and these libraries are included with the SBGrid distribution. CUDA libraries do not need to be installed locally - they will not be used by SBGrid software. However, it is important to have a recent driver version if possible.

For information about GPU hardware and CUDA / driver version compatibility, see this table at nvidia.com

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