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