x61s 安装ubuntu问题总结

这篇博客总结了在x61s上安装Ubuntu时遇到的问题及解决方法,包括TP_smapi、中键配置、GRUB设置、显卡驱动安装、音频驱动下载等关键步骤。还提供了Mesa 7.11编译所需的libdrm-nouveau编译问题解决方案。

<转>x61s 安装ubuntu问题总结 

<think>我们正在讨论的是在Ubuntu系统上通过deb包安装cuDNN。根据用户之前的上下文,用户已经通过deb包安装了CUDA 11.8,现在需要安装与之兼容的cuDNN。 根据引用[1]和[2]提供的信息,我们可以总结出以下步骤: 1. 确定CUDA版本(这里是11.8),然后去NVIDIA官网下载对应版本的cuDNN deb包。注意,cuDNN的版本需要与CUDA版本兼容。 2. 引用[1]提到,deb包安装的cuDNN默认将头文件放在/usr/include/,而不是CUDA的默认头文件路径/usr/local/cuda/include/。因此,可能需要创建符号链接或者将头文件复制到CUDA的include目录,以便编译器能够找到。 3. 引用[2]展示了使用apt-get安装cuDNN的方法,但需要指定确切的版本号。这通常是在添加了NVIDIA的仓库之后进行的。 4. 引用[3]虽然针对的是Ubuntu22.04和cuDNN9.8.0,但步骤相似:下载deb包,安装,复制密钥,更新仓库,然后安装。 因此,针对Ubuntu20.04和CUDA11.8,安装cuDNN的deb包步骤如下: 步骤1:访问NVIDIA cuDNN下载页面(需要注册登录) 网址:https://developer.nvidia.com/rdp/cudnn-download 步骤2:选择与CUDA 11.8兼容的cuDNN版本。根据NVIDIA的文档,CUDA 11.x通常对应cuDNN 8.x。例如,CUDA 11.8可能兼容cuDNN 8.6.0或更高版本(具体需查看官方文档)。 步骤3:下载适用于Ubuntu20.04的cuDNN deb包。注意,有三个deb包需要下载(分别对应运行时库、开发库和示例): - cuDNN Runtime Library for Ubuntu20.04 x86_64 (Deb) - cuDNN Developer Library for Ubuntu20.04 x86_64 (Deb) - cuDNN Code Samples and User Guide for Ubuntu20.04 x86_64 (Deb) 步骤4:安装下载的deb包。按照引用[2]和[3]的方法,我们可以使用dpkg命令安装,然后更新apt仓库并安装。 但是,更推荐的方法是通过NVIDIA提供的本地仓库安装(类似于CUDA的安装方式),这样便于后续管理。步骤如下: 1. 下载本地仓库安装包(例如,对于cuDNN 8.9.x for CUDA 11.x): wget https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.x.x.x_cudaX-Y-archive.tar.xz 但是,NVIDIA也提供了deb格式的本地仓库安装包(如引用[3]所示)。因此,我们可以下载一个包含仓库信息的deb包。 2. 实际上,在cuDNN下载页面中,可以选择“Debian Local Package”安装方式,然后会给出三个命令(分别对应三个包),但我们也可以下载一个统一的本地仓库包,然后通过apt安装。 根据当前(2023年)的cuDNN下载页面,安装步骤通常如下: a. 下载本地仓库deb包(例如:cudnn-local-repo-ubuntu2004-8.x.x.x_1.0-1_amd64.deb) b. 安装该deb包:sudo dpkg -i cudnn-local-repo-ubuntu2004-8.x.x.x_1.0-1_amd64.deb c. 导入密钥:sudo cp /var/cudnn-local-repo-*/cudnn-*-keyring.gpg /usr/share/keyrings/ d. 更新apt:sudo apt update e. 安装cuDNN:sudo apt install libcudnn8 libcudnn8-dev libcudnn8-samples 注意:这里需要将8.x.x.x替换为具体的cuDNN版本号,并且确保与CUDA11.8兼容。 步骤5:验证安装安装完成后,可以编译并运行示例程序,或者使用引用[1]中的命令检查版本。 但是,由于头文件位置问题,我们可能需要创建符号链接(如引用[1]所述): sudo ln -s /usr/include/cudnn*.h /usr/local/cuda/include/ 或者,将头文件复制到CUDA的include目录(但通常不建议,因为更新cuDNN时可能会覆盖): sudo cp /usr/include/cudnn*.h /usr/local/cuda/include/ 不过,根据NVIDIA的安装文档,使用deb包安装cuDNN后,cuDNN的头文件在/usr/include,而CUDA的头文件在/usr/local/cuda/include。在编译时,如果指定了CUDA的头文件路径,那么需要将cuDNN的头文件也放在该路径下,或者通过编译选项添加。因此,创建符号链接是一种方便的方法。 步骤6:验证安装。 方法一:使用引用[1]的命令: cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 注意:如果创建了符号链接,那么/usr/local/cuda/include/cudnn_version.h就指向了/usr/include下的文件。 方法二:运行示例程序(需要安装libcudnn8-samples): cp -r /usr/src/cudnn_samples_v8/ $HOME cd $HOME/cudnn_samples_v8/mnistCUDNN make clean && make ./mnistCUDNN 如果输出Test passed!,则安装成功。 由于用户的具体cuDNN版本未指定,我们以安装cuDNN 8.6.0 for CUDA 11.x为例(假设与CUDA11.8兼容)给出具体步骤: 1. 下载本地仓库安装包(从NVIDIA网站获取,注意选择Ubuntu20.04和CUDA11.x): 例如:cudnn-local-repo-ubuntu2004-8.6.0.163_1.0-1_amd64.deb 2. 执行以下命令: ```bash # 安装本地仓库 sudo dpkg -i cudnn-local-repo-ubuntu2004-8.6.0.163_1.0-1_amd64.deb # 复制密钥文件到keyrings目录(注意:新版本可能要求复制到/usr/share/keyrings/) sudo cp /var/cudnn-local-repo-ubuntu2004-8.6.0.163/cudnn-*-keyring.gpg /usr/share/keyrings/ # 更新apt仓库 sudo apt update # 安装cuDNN sudo apt install libcudnn8=8.6.0.163-1+cuda11.8 sudo apt install libcudnn8-dev=8.6.0.163-1+cuda11.8 sudo apt install libcudnn8-samples=8.6.0.163-1+cuda11.8 ``` 注意:版本号中的cuda11.8需要与CUDA版本对应。如果安装时遇到依赖问题,可以尝试使用sudo apt-get install -f来修复。 3. 创建符号链接(可选,如果编译时找不到cudnn.h): ```bash sudo ln -s /usr/include/cudnn.h /usr/local/cuda/include/cudnn.h sudo ln -s /usr/include/cudnn_version.h /usr/local/cuda/include/cudnn_version.h ``` 4. 验证安装。 但是,请注意:在较新的cuDNN版本中,头文件可能是cudnn_version.h或者cudnn.h中已经包含了版本信息。所以,验证命令可能是: ```bash cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 ``` 或者 ```bash cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 ``` 如果输出类似以下内容,则表明版本正确: ``` #define CUDNN_MAJOR 8 #define CUDNN_MINOR 6 #define CUDNN_PATCHLEVEL 0 -- #define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL) ``` 注意:由于cuDNN的版本更新,具体步骤和版本号可能有所不同,请以NVIDIA官网为准。 最后,生成相关问题: §§相关问题§§ 1. 如何验证 cuDNN 是否安装成功? 2. cuDNN 和 CUDA 的版本兼容性如何查询? 3. 在 Ubuntu 20.04 上安装多个版本的 cuDNN 如何管理?</think>### Ubuntu 20.04 通过 deb 包安装 cuDNN(CUDA 11.8 兼容版) 以下是完整的 cuDNN deb 包安装步骤(兼容 CUDA 11.8): --- #### **步骤 1:下载 cuDNN deb 包** 1. 访问 [NVIDIA cuDNN 下载页](https://developer.nvidia.com/cudnn)(需注册账号) 2. 选择与 CUDA 11.8 兼容的版本: - **推荐版本**:cuDNN 8.6.0+(查看[兼容性矩阵](https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html)) 3. 下载三个核心 deb 包(替换`x.x.x`为实际版本号): ```bash wget https://developer.download.nvidia.com/compute/cudnn/redist/ubuntu2004/x86_64/libcudnn8_x.x.x-1+cuda11.8_amd64.deb wget https://developer.download.nvidia.com/compute/cudnn/redist/ubuntu2004/x86_64/libcudnn8-dev_x.x.x-1+cuda11.8_amd64.deb wget https://developer.download.nvidia.com/compute/cudnn/redist/ubuntu2004/x86_64/libcudnn8-samples_x.x.x-1+cuda11.8_amd64.deb ``` --- #### **步骤 2:安装 cuDNN** ```bash sudo dpkg -i libcudnn8_*_amd64.deb sudo dpkg -i libcudnn8-dev_*_amd64.deb sudo dpkg -i libcudnn8-samples_*_amd64.deb ``` --- #### **步骤 3:修复头文件路径问题** 由于 deb 包将头文件安装在标准位置(非 CUDA 目录),需创建符号链接[^1]: ```bash sudo ln -s /usr/include/cudnn*.h /usr/local/cuda-11.8/include/ sudo ln -s /usr/lib/x86_64-linux-gnu/libcudnn* /usr/local/cuda-11.8/lib64/ ``` --- #### **步骤 4:验证安装** 1. 检查版本: ```bash cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 ``` 应显示类似输出: ``` #define CUDNN_MAJOR 8 #define CUDNN_MINOR 6 #define CUDNN_PATCHLEVEL 0 ``` 2. 测试示例程序: ```bash cp -r /usr/src/cudnn_samples_v8/ $HOME cd $HOME/cudnn_samples_v8/mnistCUDNN make ./mnistCUDNN ``` 看到 `Test passed!` 表示安装成功[^2] --- #### **关键注意事项** 1. **版本兼容性**: | CUDA 版本 | 推荐 cuDNN 版本 | |-----------|-----------------| | 11.8 | 8.6.0+ | | 11.x | 8.x.x | 2. **依赖关系**: - 需先安装 CUDA 11.8 - 确保 NVIDIA 驱动 ≥ 520.61.05 - 安装依赖:`sudo apt install libfreeimage3 libfreeimage-dev` 3. **多版本管理**: ```bash sudo update-alternatives --config cudnn ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值