Linux 系统上安装 CUDA 和 cuDNN
picked stone 2024-10-17 13:07:01 阅读 62
在 Linux 系统上安装 CUDA 和 cuDNN 是一个详细的过程,涉及多个步骤,包括下载合适的安装包、设置环境变量等。以下是一个基本的指导步骤,帮助您安装 CUDA 和 cuDNN:
步骤 1: 安装 CUDA
前往 NVIDIA 官网下载:
访问 NVIDIA 的官方下载页面。选择适合您的操作系统、架构、发行版和版本的 CUDA。
下载并安装:
通常,CUDA 安装包会有 <code>.deb(用于基于 Debian 的系统)或 .rpm
(用于基于 RPM 的系统)格式。按照您的系统选择合适的格式下载。对于 Debian/Ubuntu 系统,安装步骤如下:
sudo dpkg -i cuda-repo-<distro>_<version>_amd64.deb
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/<distro>/x86_64/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda
配置环境变量:
打开您的 ~/.bashrc
文件添加以下行:
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
重新加载配置文件:
source ~/.bashrc
步骤 2: 安装 cuDNN
下载 cuDNN:
访问 NVIDIA cuDNN 页面 并选择与您的 CUDA 版本兼容的 cuDNN 版本。您需要注册并登录 NVIDIA 的开发者账号才能下载。
安装 cuDNN:
解压下载的 cuDNN 压缩包:
tar -xzvf cudnn-<version>-linux-x64-v<version>.tgz
将 cuDNN 库文件复制到 CUDA 目录:
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
步骤 3: 验证安装
验证 CUDA:
编译并运行 CUDA 的样本程序来测试安装是否成功:
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
验证 cuDNN:
编写一个小程序或使用现有的测试脚本来检查 cuDNN 是否正常工作。
以上步骤提供了安装 CUDA 和 cuDNN 的基本框架。具体的命令可能需要根据您的系统版本和下载的具体文件进行调整。安装过程中可能遇到的常见问题包括依赖关系问题、权限问题等,确保按照提示仔细操作。
安装代码
对于 Debian/Ubuntu 系统,安装步骤如下:
wget https://developer.download.nvidia.com/compute/cudnn/9.3.0/local_installers/cudnn-local-repo-ubuntu2004-9.3.0_1.0-1_amd64.deb
sudo dpkg -i cudnn-local-repo-ubuntu2004-9.3.0_1.0-1_amd64.deb
sudo cp /var/cudnn-local-repo-ubuntu2004-9.3.0/cudnn-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudnn
手动解压,安装步骤如下:
tar -xvf cudnn-linux-x86_64-8.9.6.50_cuda12-archive.tar.xz
sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
在下载和安装 cuDNN 的过程中,您可以自由选择一个临时的文件夹来下载和解压 cuDNN 压缩包,然后从这个文件夹中将必要的文件复制到 CUDA 的安装目录。下面是详细的步骤说明:
选择下载和解压文件的文件夹
下载文件夹:
您可以选择任何您具有写入权限的文件夹来下载 cuDNN 压缩包。例如,您的个人文件夹或特定的下载文件夹。假设您选择的是 ~/Downloads
。
解压文件夹:
同样,您可以在任何方便的位置解压文件,通常也可以在下载文件夹中直接解压。这里以 ~/Downloads
为例。
下载和解压 cuDNN
打开终端,执行以下步骤:
cd ~/Downloads
wget <cuDNN-download-link> # 使用 cuDNN 的下载链接,这需要您从 NVIDIA 网站获取
tar -xzvf cudnn-<version>-linux-x64-v<version>.tgz # 替换<version>为您下载的版本信息
复制文件到 CUDA 目录
解压后,您会在 ~/Downloads
或您选择解压的目录中看到一个名为 cuda
的文件夹,这个文件夹里包含 include
和 lib64
文件夹。您需要从这里复制文件到 CUDA 的安装目录。
在您的终端中,确保您位于包含解压后的 cuDNN 文件的目录:
cd ~/Downloads # 如果您在这里解压的 cuDNN
# 解压后文件夹改名成 cudnn
复制头文件和库文件到 CUDA 目录:
# sudo cp cuda/include/cudnn*.h /usr/local/cuda/include/
sudo cp cudnn/include/cudnn*.h /usr/local/cuda/include/
# sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo cp -P cudnn/lib/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
这些命令会将头文件 (cudnn*.h
) 和库文件 (libcudnn*
) 从您下载和解压 cuDNN 的目录复制到 CUDA 的 include
和 lib64
目录中。
为了帮您通过手动解压的方式安装 cuDNN,我们将按照以下步骤进行操作:
步骤 1: 下载 cuDNN
首先,在您的 Linux 系统上打开一个终端,并使用 wget
命令下载 cuDNN 压缩包:
wget https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-9.3.0.75_cuda12-archive.tar.xz
步骤 2: 解压 cuDNN 压缩包
使用 tar
命令解压下载的 cuDNN 压缩包:
tar -xvf cudnn-linux-x86_64-9.3.0.75_cuda12-archive.tar.xz
这将解压缩文件到当前目录下的 cuda
文件夹中,包含 include
和 lib64
子文件夹。
步骤 3: 复制 cuDNN 文件到 CUDA 目录
假设您的 CUDA 安装在 /usr/local/cuda
(这是标准安装路径)。您需要将解压后的头文件和库文件复制到 CUDA 的相应目录中。执行以下命令:
# 复制头文件
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include/
# 复制库文件
sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64/
# 更改权限,确保所有用户都可以读取这些文件
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
步骤 4: 更新环境变量
为了确保运行时能找到 cuDNN 的库文件,您应该将 CUDA 的 lib64 目录添加到您的 LD_LIBRARY_PATH
环境变量中。在您的 ~/.bashrc
或 ~/.profile
文件中添加以下行:
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
然后,运行以下命令来重新加载环境变量设置:
source ~/.bashrc
# 或者
source ~/.profile
上一篇: 关于使用v2rayn开启服务时报Failed to start的错误解决方法
下一篇: 大数据-165 Apache Kylin Cube优化 案例 2 定义衍生维度及对比 & 聚合组 & RowKeys
本文标签
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。