Skip to content

GPU-Accelerated 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:

NVIDIA Hardware

To use GPU-accelerated applications, you will need an NVIDIA GPU. Currently, we do not support other co-processors such as Xeon Phi or 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

Hardware 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 12.2 and these libraries are included with the SBGrid distribution. CUDA libraries do not need to be installed locally as 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

Linux GPU support

We support many of the titles that run on NVIDIA GPU hardware. We include the required libraries for these applications. Typically only the latest driver for the hardware is required for these to run properly. Due to limitations in a few software titles, versions that rely on older CUDA versions (< CUDA 11.8) may fail on Ampere microarchitecture cards and later. We are working to clarify the compatibility for these applications.

NVIDIA GPU Architectures

Architecture (Year) Consumer-grade example Enterprise-grade example
Ada Lovelace (2022) GeForce RTX 4090 RTX 6000 Ada Generation
Ampere (2020) GeForce RTX 3080 A100
Turing (2018) GeForce RTX 2080 Quadro RTX 6000
Volta (2017) Titan V Tesla V100
Pascal (2016) GeForce GTX 1080 Tesla P100
Maxwell (2014) GeForce GTX 980 Tesla M40
Kepler (2012) GeForce GTX 680 Tesla K20
Fermi (2010) GeForce GTX 480 Tesla M2090
Tesla (2008) GeForce GTX 280 Tesla C1060

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