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 的文件夹,这个文件夹里包含 includelib64 文件夹。您需要从这里复制文件到 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 的 includelib64 目录中。

为了帮您通过手动解压的方式安装 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 文件夹中,包含 includelib64 子文件夹。

步骤 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



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。