How to choose the right GPU driver?
The GPU driver is related to whether the GPU can work correctly in displaying or accelerating parallel computing. An appropriate version of driver can be downloaded from the NVIDIA official website for all models of GPUs. By clicking on the GPU model and operating system, you can find a GPU driver suitable for your system.
However, if you are looking for an older version of the driver due to development requirements, you can also find the Beta and Older Drivers in a more complete list of drivers on this page.
In general, if you are a user who mainly uses GPU for computing, i.e. a user who uses CUDA (such as a parallel computing developer or an AI developer), the GPU driver version has a corresponding relationship with the CUDA Toolkit version. The CUDA version of the GPU driver (CUDA User Mode Driver) must not be lower than the version of the CUDA Toolkit (CUDA Runtime), which means that if you want to use the CUDA Toolkit 10.0 for AI development, the CUDA version included in the GPU driver cannot be lower than 10.0. As for how to find out the CUDA version included in the driver, NVIDIA official website provides a list (for Linux systems). To save the hassle, just download the latest version of the driver and the CUDA Toolkit.
(CUDA documentation: https://docs.nvidia.com/deploy/cuda-compatibility/index.html)
Click here to download CUDA Toolkit. It is recommended to download the runfile and install it yourself.
About Linux Version Driver Installation
The Windows version is relatively easy to install and there won’t be too many troubles. On the contrary, most users are likely to encounter problems in the Linux version. Here are the solutions to the problems that happen the most often in the Linux version.
The GPU can be used simply for calculation or at the same time for display. If you choose a card that can be used for display, you can choose whether to use the GPU or the integrated graphics as the display according to your needs. Of course, the current mid-to-high-end motherboards have integrated graphics chips.
For a system that is used merely for AI development or parallel computing, it is recommended that you only use the integrated graphics for display, because the display will take some GPU memory resources, and will reduce the amount of GPU memory available for calculation. However, if you are a graphics developer (OpenGL or DirectX), it is recommended that you directly use the GPU for display.
NVIDIA GPU Category
|Quadro||Active (with fan)||Yes|
|Quadro||Passive (without fan)||No|
|Tesla||Passive (without fan)||No|
|GeForce||Active (with fan)||Yes|
If you use a Tesla or Quadro with a passive cooling solution (Quadro RTX 6000 and Quadro RTX 8000 Passive), you can only use the card for calculation, not for display. If this type of GPU uses the normal driver installation procedure, it will cause problems with inability to log in to the operating system. The installation procedure of this type of GPU is as follows.
- Download the GPU driver installation file from the official website (the extension is run)
- Enter text mode: init 3
- Disable the display interface: sudo service lightdm stop (in ubuntu)
- Install the driver: sudo bash NVIDIA-Linux-x86_64-xxx.xx.run --no-opengl-files
- Follow the instructions to install the driver
- Confirm whether the installation is complete: nvidia-smi
- Reboot and log in to the desktop: sudo reboot
If you want to use the GPU for display, just remove the --no-opengl-files parameter when installing the driver.
When you choose to use the integrated graphics mode to install the GPU driver, you must also pay attention when installing the CUDA Toolkit. As the CUDA Toolkit contains GPU drivers, if you use --no-opengl-files for installation, please note the following installation instructions.
- Go to the official website to download the CUDA Toolkit installation file (the extension is run)
- Install CUDA: sudo bash cuda_xx.x.xx_xxx.xx_linux.run
- Accept the End-user license agreement: accept
- Uncheck the Driver option and select Install to complete the installation.