13. Linux上CUDA的安装

打印 上一主题 下一主题

主题 983|帖子 983|积分 2949

这个专栏记载我学习/科研过程中遇到的一些小问题以及办理方案,一些问题可能比较蠢请包容。自用,仅供参考。

------------------------------------------------------------------------------------
Linux上CUDA的安装


在安装之前,首先要确定NVIDIA显卡驱动版本,该版本即可安装CUDA的最高版本(例如下图当中红框信息表现,笔者能够安装的CUDA版本为                                        ≤                            12.2                                  \leq12.2                     ≤12.2)。使用nvidia-smi查看显卡驱动信息。

别的,还需要使用uname -a或uname -v确认操纵系统的发行版和版本编号,服务器的架构。例如下图中赤色框出部分,笔者的Linux操纵系统的发行版是Ubuntu,版本号是20.04;图中蓝色框出部分,笔者的服务器架构是x86(假如uname -a返回了ARM或者aarch等字样,阐明服务器是ARM架构;假如返回x86、x86_64或amd64等字样,阐明服务器是x86架构)。

接着,在NVIDIA官网上找到得当的CUDA版本,并按照之前查到的服务器和操纵系统信息,选择对应的架构、发行版和版本号(如下两幅图的图红框所示)。


对于安装类型(Installer Type),发起选择runfile (local)(如上图蓝色框所示) ,以便适配多版本环境。选择完成后,安装代码会表现出来(如上图粉色框所示),依次运行这两段指令。注意,安装过程需要使用sudo(第二段指令),否则有可能无法安装!
以下是这几种差别安装类型的区别:

  • deb (local):直接下载包罗CUDA Toolkit的完整DEB包文件,通过本地文件来安装。下载文件较大,但安装过程不需要依靠网络毗连。安装完成后可以正常使用apt命令更新CUDA相关内容。
  • deb (network):下载一个较小的DEB安装包,该包会添加NVIDIA的官方源并自动配置,随后通过网络从官方源中下载CUDA Toolkit的内容。虽然下载的初始文件较小,但在安装过程中需要持续的网络毗连。安装完成后可以正常使用apt命令更新CUDA相关内容。
  • runfile (local):下载完整的可执行.run 文件,通过运行该文件举行安装。不依靠系统包管理工具(如apt),允许用户自界说安装路径,并且提供是否安装显卡驱动的选项。得当需要安装多个CUDA版本或多个版本来回切换的用户。

.run文件下载完成后(第一段指令执行完成后),执行第二段指令。执行后等待一段时间(通常30s-1min左右),假如之前已经安装了驱动,则会表现“Existing package manager installation of the driver found.”,此时直接选择Continue取消驱动安装即可。

接下来,键入accept再回车,以同意用户条例。

正式安装前,要将显卡驱动安装的选项取消(调解到对应选项后按下回车即可。由于笔者在之前就已经安装了驱动,因此此处不需要再次安装),然后选择安装(Install)。

假如第二段指令没有sudo权限,则可能会导致在这一步出现错误:

假如在安装CUDA时出现“A symlink already exists at /usr/local/cuda. Update to this installation?”的提示(如下图),阐明在/usr/local/cuda目次中已经存在一个符号链接(symlink)。这通常是因为之前已经安装了CUDA Toolkit,或者安装了多个版本的CUDA,并在/usr/local/cuda创建了符号链接(通常指向详细版本目次,如/usr/local/cuda-11.8)。UDA的安装程序实行在此位置创建一个新的符号链接,但检测到已有链接存在,因此提示是否要更新。此处发起更新(选择yes)。
假如希望当前安装的CUDA版本成为默认版本,可以选择更新该符号链接,此时新安装的CUDA将覆盖现有的符号链接,并指向新版本的安装目次(如 /usr/local/cuda-12.0);假如希望保留现有CUDA版本并不希望覆盖,可以选择拒绝,然后根据需求手动管理符号链接。通常推荐前者。
等待安装结束即可。安装成功见下图:

此时,/usr/local/目次下能看到刚刚安装的CUDA-12.0。

这时,安装流程仍未结束,配置环境中需要添加路径。因此,我们需要在bash的用户个性化设置文件.bashrc(在bash每次启动时都会加载.bashrc文件中的内容,并根据内容定制当前bash的配置和环境)中添加新安装的CUDA-12.0。这一点在安装成功的总结(Summary)中有提到:
   Please make sure that
  

  • PATH includes /usr/local/cuda-12.0/bin
  • LD_LIBRARY_PATH includes /usr/local/cuda-12.0/lib64, or, add /usr/local/cuda-12.0/lib64 to /etc/ld.so.conf and run ldconfig as root
  下一步,使用nano打开.bashrc:
  1. sudo nano ~/.bashrc
复制代码
nano的操纵方法见这篇博客。而我们要做的,是在文档末尾加上三行代码(如下图红框所示,尤其要注意蓝色的部分,需要替换为相应的CUDA版本),假如该代码存在,则将蓝色框内的CUDA版本号替换为对应版本即可:
  1. export PATH=/usr/local/cuda-12.0/bin${PATH:+:${PATH}}
  2. export LD_LIBRARY_PATH=/usr/local/cuda-12.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
  3. export CUDA_HOME=/usr/local/cuda-12.0
复制代码

按下ctrl+X退出nano,退出前保存文档。接下来,更新环境:
  1. source ~/.bashrc
  2. sudo ldconfig
复制代码
至此,全部安装步骤已经完成。键入nvcc -V查看CUDA版本以查抄是否成功安装:


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

羊蹓狼

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表