NVIDIA驱动程序(NVIDIA Driver)和CUDA Toolkit
NVIDIA驱动程序(NVIDIA Driver)和CUDA Toolkit是两个不同的概念,它们各自担负着不同的角色和功能。
NVIDIA驱动程序(NVIDIA Driver)
- NVIDIA驱动程序是安装在计算机上的软件,用于管理和控制NVIDIA显卡(GPU)的操作。它负责将计算机上的软件与NVIDIA GPU硬件进行通信,以便执行图形渲染、通用计算等任务。
- NVIDIA驱动程序提供了GPU的基本功能,包括图形显示、CUDA加速计算、深度学习模型的训练和推断等。
CUDA Toolkit
- CUDA Toolkit 是由NVIDIA提供的用于GPU并行计算的开发工具包。它包含了一系列用于开发GPU加速应用程序的工具、库和文档,以及支持CUDA编程模型的编译器和运行时。
- CUDA Toolkit 提供了许多功能,包括CUDA编程模型、CUDA C/C++编译器(nvcc)、CUDA库、CUDA运行时等。开发人员可以使用CUDA Toolkit来编写和优化GPU加速的应用程序,这些应用程序可以在NVIDIA GPU上运行。
虽然NVIDIA驱动程序和CUDA Toolkit都涉及到NVIDIA GPU的使用,但它们的职责和功能不同。NVIDIA驱动程序是必需的,用于使计算机能够与NVIDIA GPU进行通信和操作,而CUDA Toolkit是可选的,用于开发和运行GPU加速的应用程序。
在使用CUDA开发或运行CUDA加速应用程序时,需要安装NVIDIA驱动程序和CUDA Toolkit。这两者通常是配合使用的,因为CUDA程序需要NVIDIA GPU的支持,而NVIDIA驱动程序提供了GPU的基本功能,并且CUDA Toolkit提供了开发CUDA程序所需的工具和库。
安装NVIDIA Driver && CUDA Toolkit
1. 安装NVIDIA Driver
- 禁用Nouveau驱动
在安装NVIDIA官方驱动程序之前,通常需要禁用开源的Nouveau驱动程序。Nouveau是Linux系统上的一个开源显卡驱动程序,但它可能会与NVIDIA官方驱动程序发生冲突。禁用Nouveau可以确保在安装NVIDIA官方驱动程序时不会出现问题。
在开始禁用Nouveau之前,首先确保Nouveau驱动程序当前是否在使用中。执行lsmod | grep nouveau
指令,如果输出中有nouveau
,则表示Nouveau驱动程序当前正在使用,需要禁用。 - 查找适合您的GPU的驱动程序
访问NVIDIA驱动程序下载页面并选择适合您的GPU和操作系统的驱动程序。
- 下载.run文件
我这里是NVIDIA-Linux-x86_64-550.78.run
- 安装下载的驱动程序
- 打开终端。
- 切换到下载文件所在的目录,例如:
cd ~/Downloads
- 执行.run文件:
sudo ./NVIDIA-Linux-x86_64-550.78.run
- 重启电脑
在安装完成后,重启您的电脑以确保新的驱动程序被正确加载。
2.安装CUDA Toolkit
- 下载
从NVIDIA官方网站下载合适的CUDA Toolkit安装程序。
# 执行命令,下载文件 wget https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda_12.4.1_550.54.15_linux.run
- 安装
# 执行命令,安装文件 sudo sh cuda_12.3.0_545.23.06_linux.run
等待弹出界面之后,选择continue
,之后的协议选择accept
。
最后的安装界面中,按回车键取消Driver的安装,只安装CUDA Toolkit即可,选择好了之后移动到Install
按下回车。
安装完成之后出现以下内容
=========== = Summary = =========== Driver: Not Selected Toolkit: Installed in /usr/local/cuda-12.3/ Please make sure that - PATH includes /usr/local/cuda-12.3/bin - LD_LIBRARY_PATH includes /usr/local/cuda-12.3/lib64, or, add /usr/local/cuda-12.3/lib64 to /etc/ld.so.conf and run ldconfig as root To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-12.3/bin *WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 545.00 is required for CUDA 12.3 functionality to work. To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file: sudo <CudaInstaller>.run --silent --driver Logfile is /var/log/cuda-installer.log
- 配置环境变量
- 设置全局环境变量,使用
/etc/profile.d/
添加CUDA环境变量:
# 创建一个新的配置文件 sudo vim /etc/profile.d/cuda.sh # 在打开的文件中,添加以下内容(注意这里的12.3版本改成你安装的版本) # CUDA Soft Link export PATH=$PATH:/usr/local/cuda-12.3/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.3/lib64 # 为了让更改生效,您需要重新登录或重新启动系统。
- 仅为当前用户设置环境变量(zsh用户把
.bashrc
改成.zshrc
):
# 使用以下命令追加环境变量到.bashrc文件 echo '# CUDA Soft Link for CUDA version 12.3' >> ~/.bashrc echo 'export PATH=$PATH:/usr/local/cuda-12.3/bin' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.3/lib64' >> ~/.bashrc # 使更改生效,运行以下命令来重新加载配置文件 source ~/.bashrc
- 验证安装
# 使用以下命令追加环境变量到.bashrc文件 nvcc --version # 出现以下结果表示安装成功 nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2023 NVIDIA Corporation Built on Fri_Sep__8_19:17:24_PDT_2023 Cuda compilation tools, release 12.3, V12.3.52 Build cuda_12.3.r12.3/compiler._0
遇到的问题:
nvcc
(NVIDIA CUDA Compiler)和nvidia-smi
(NVIDIA System Management Interface)显示的CUDA版本不一致,可能是由以下原理和原因造成的:
- 独立更新:
nvcc
作为CUDA Toolkit的一部分,可能独立于NVIDIA驱动程序更新。用户可能只更新了CUDA Toolkit,而没有更新驱动程序,或者反之。 - 版本分层:
CUDA Toolkit通常由多个层次的库和工具组成,包括运行时库、编译器、开发工具等。nvcc
的版本可能对应于开发工具的版本,而nvidia-smi
显示的可能是与驱动程序捆绑的CUDA运行时库的版本。 - 多个CUDA Toolkit安装:
用户可能在同一系统上安装了多个版本的CUDA Toolkit。nvcc
可能链接到了一个特定版本的CUDA Toolkit,而nvidia-smi
可能与另一个版本交互。 - 环境变量配置:
如果PATH
环境变量配置不正确,可能调用了错误版本的nvcc
。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/81091.html