Linux-Mint/Ubuntu 18.04, RTX2060 安全安装NVIDIA驱动+CUDA 10.0+cuDNN(亲测防卡死)
简介
以下介绍如何在Linux-Mint/Ubuntu 18.04的环境下安全配置CUDA开发环境。笔者最近由win10换到Linux-Mint,电脑配置是9代I7,RTX 2060,在经历过千辛万苦(N次重装系统 + 卡死)后,结合各论坛讨论总结出CUDA环境的正确食用方式。在这里说一下,网上很多文章都具有误导性(不假思索的机翻),人云亦云,这里提供的方法不需要关闭Linux桌面环境,十分安全方便。
什么是CUDA
首先我们要理解什么是CUDA,知道了它的原理才能让你知道那些网上的虚假教程坑在哪里,以及为什么会让你不止一次的失败、卡死。
CUDA,全称Compute Unified Device Architecture,是NVIDIA开发的GPGPU使用技术,旨在通过整合CPU、GPU优化程序的多线程性能。CUDA中有Host和Device,其中Host是CPU(这里指9代I7), Device指GPU(RTX2060)。CUDA开始于CPU,但通过把并行程度较高的部分分配给GPU执行提高效率,CUDA的执行会大量消耗GPU的算力,导致显示不正常,但在windows环境下系统会自动切换到核显。
网上教程错误之处
简要介绍了CUDA,那让我们看看网上教程及部分讨论有什么错误的地方,首先我们要知道Ubuntu 18.04/Linux-Mint的初始安装环境下,用的是NVIDIA的nouveau公版开源驱动,由于这是开源,导致并不完全兼容N卡,而且相比闭源驱动无法发挥N卡的最高性能(在此对老黄素质三连)。Ubuntu 18.04 LTS版本是自带有最新的430版本驱动的。
那么那些错误到底有哪些呢:
- 直接安装430版本驱动,而没有blacklist nouveau驱动,由于nouveau驱动会导致和430驱动冲突,会导致登录界面无线循环卡死
- 直接通过deb包安装CUDA 10.0/10.1, 此法过于激进,因为10.0会默认安装410驱动,10.1安装418驱动,这些办法一旦驱动没有安装正确(如显卡不兼容)会导致无线卡死。。。
- 安装430驱动,禁用nouveau驱动后通过deb包安装CUDA,此法导致430驱动被卸载,低版本驱动被安装,很容易导致一系列错误造成N卡无法正常启动
- 安装步骤基本正确没问题,但运行程序时桌面卡死,这是因为CUDA程序会大量消耗GPU的算力导致其无法正常作为显示卡使用
简要总结
那么如何安装才算正确呢?注意上述方法虽然看似无解,都是可以避免的,这里介绍本人多次尝试后总结的步骤(后附上指令):