最近在学《深度强化学习实践》这本书,需要安装Pytorch,CUDA一系列的东西。
所做的工作在ubuntu20.04系统上,已安装anaconda。
引用百度百科的一段关于CUDA的描述:CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员可以使用C语言来为CUDA™架构编写程序,所编写出的程序可以在支持CUDA™的处理器上以超高性能运行。
简单来说,有了CUDA,就可以用GPU工作了。
Pytorch、CUDA与显卡驱动之间有着严格的对应关系,所以想安装CUDA,先要知道显卡驱动版本。
(这里的操作是我踩的坑,简单记录一下,正确操作从后面红色字体开始)第一步,在linux上安装nvidia显卡驱动,运行
nvidia-settings
显示
Command 'nvidia-settings' not found, but can be installed with:
sudo apt install nvidia-settings
于是运行
sudo apt install nvidia-settings
安装完成
再次运行
nvidia-settings
显示
ERROR: Unable to load info from any available system
(nvidia-settings:46577): GLib-GObject-CRITICAL **: 11:40:35.649: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
** (nvidia-settings:46577): WARNING **: 11:40:35.651: PRIME: 执行子进程“/usr/bin/prime-supported”失败(没有那个文件或目录)
** Message: 11:40:35.651: PRIME: is it supported? no
打开Nvidia X server Settings 一片空白
去Nvidia官网下载了对应1050显卡的Linux版本驱动,下载下来的文献是.run格式
执行下面命令,添加可执行权限,运行文件
(base) johnwatson@rescuer-r720:~$ cd 下载
(base) johnwatson@rescuer-r720:~/下载$ chmod +x NVIDIA-Linux-x86_64-470.94.run
(base) johnwatson@rescuer-r720:~/下载$ ./NVIDIA-Linux-x86_64-470.94.run
报错
说明运行这个文件要root权限,在前面加上sudo,执行下面代码
(base) johnwatson@rescuer-r720:~/下载$ sudo ./NVIDIA-Linux-x86_64-470.94.run
出现下面的提示,大体是说发现了更好的驱动安装方式,可以去软件与更新里的附加驱动安装
果然是这样,可以看到,在附加驱动中可以找到1050的对应驱动。除此之外,我们现在用的驱动是Nouveau,这是不被推荐的驱动。
这是笔记本上的显卡,与server无关,而且一般不选tested(测试),所以选择第三个驱动安装,使用NVIDIA driver metapackage来自nvidia-driver-390(专有)。
安装完成。
再次执行nvidia-settings命令,报错
(base) johnwatson@rescuer-r720:~$ nvidia-settings
ERROR: NVIDIA driver is not loaded
ERROR: Unable to load info from any available system
(nvidia-settings:25774): GLib-GObject-CRITICAL **: 15:49:26.900: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
** Message: 15:49:26.903: PRIME: No offloading required. Abort
** Message: 15:49:26.903: PRIME: is it supported? no