CentOS 7 作为企业级服务器操作系统,常被用于深度学习、科学计算等场景,而 CUDA(Compute Unified Device Architecture)是 NVIDIA 提供的并行计算平台与编程模型,能让 GPU 高效执行通用计算任务,本文将详细介绍在 CentOS 7 系统上安装 CUDA 的完整步骤,涵盖环境准备、驱动安装、CUDA 工具包配置及验证等关键环节。
系统环境准备
在开始安装前,需确保 CentOS 7 系统满足以下基础条件:
- 内核版本:建议使用
10
或更高版本(可通过uname -r
命令查看)。 - GCC 编译器:CUDA 对 GCC 版本有兼容性要求(如 CUDA 11.x 支持 GCC 8),需提前安装或升级。
- NVIDIA 显卡:确认显卡型号支持 CUDA(可通过
lspci | grep -i nvidia
检查)。
更新系统软件包
首先更新系统以修复潜在漏洞并获取最新依赖库:
sudo yum update -y
安装必要的开发工具
CUDA 编译和运行需要 GCC、Make 等工具,通过以下命令安装:
sudo yum groupinstall "Development Tools" -y sudo yum install kernel-devel kernel-headers dkms -y
配置 YUM 源(可选)
若需安装特定版本的 GCC,可添加第三方源(如 EPEL):
sudo yum install epel-release -y sudo yum install gcc gcc-c++ -y # 安装 GCC 8 或其他版本
NVIDIA 驱动安装
CUDA 运行依赖于 NVIDIA 显卡驱动,需先正确安装驱动程序。
卸载旧版驱动(如有)
若系统中已存在 NVIDIA 驱动,需先卸载避免冲突:
sudo yum remove nvidia* -y
添加 NVIDIA 官方源
访问 NVIDIA 驱动下载页,选择对应显卡型号和系统版本(CentOS 7 x86_64),下载 .run
安装包后上传至服务器,或直接使用官方源:
sudo dnf config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo sudo yum clean all sudo yum install nvidia-driver-latest-dkms -y # 安装最新驱动
重启系统并验证驱动
安装完成后重启系统,通过以下命令检查驱动是否加载成功:
nvidia-smi
若输出显卡信息(如型号、显存大小、驱动版本),则表示驱动安装正常。
CUDA 工具包安装
CUDA 工具包包含编译器、库文件及示例代码,需根据需求选择版本(本文以 CUDA 11.8 为例)。
下载 CUDA 安装包
从 NVIDIA 官网 下载对应系统的.run 文件(如 cuda_11.8.0_520.61.05_linux.run
),上传至 /tmp
目录。
赋予安装包执行权限
chmod +x cuda_11.8.0_520.61.05_linux.run
运行安装脚本
执行安装命令(注意:禁用默认驱动安装,因已手动安装):
sudo ./cuda_11.8.0_520.61.05_linux.run --silent --toolkit --override
参数说明:
--silent
:静默安装,无需交互;--toolkit
:仅安装工具包,不安装驱动;--override
:覆盖现有 CUDA 安装。
配置环境变量
安装完成后,需设置 PATH 和 LD_LIBRARY_PATH 以便系统识别 CUDA 工具:
echo 'export PATH=/usr/local/cuda-11.8/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc
验证 CUDA 安装
通过运行官方示例代码确认 CUDA 功能正常。
编译示例程序
进入 CUDA 示例目录并编译:
cd /usr/local/cuda-11.8/samples/1_Utilities/deviceQuery sudo make
执行验证程序
运行编译后的二进制文件:
./deviceQuery
若输出显示 GPU 设备信息(如设备名称、计算能力、显存大小等),且最后提示“Result = PASS”,则表示 CUDA 安装成功。
常见问题排查
问题现象 | 可能原因 | 解决方法 |
---|---|---|
驱动安装失败 | 内核头文件未匹配 | 安装对应内核版本的 kernel-devel |
nvidia-smi 无输出 | 驱动未加载 | 重启系统或重新安装驱动 |
CUDA 示例编译报错 | GCC 版本不兼容 | 升级/降级 GCC 至 CUDA 兼容版本 |
环境变量未生效 | 未 source 配置文件 | 执行 source ~/.bashrc 或重启终端 |
FAQs 相关问答
Q1:安装 CUDA 时提示“Kernel header /lib/modules/… not found”,如何解决?
A1:该错误通常是由于未安装对应内核版本的 kernel-devel
包导致,可通过以下命令安装:
sudo yum install kernel-devel-$(uname -r) -y
安装后重新尝试 CUDA 安装即可。
Q2:运行 CUDA 程序时出现“cuda runtime api error (all CUDA-capable devices are busy or unavailable)”,怎么办?
A2:此问题多由驱动未正确加载或 GPU 被其他进程占用引起,可先执行 nvidia-smi
检查驱动状态;若驱动正常,尝试释放 GPU 资源(如终止占用进程)或重启系统,确保 CUDA 版本与驱动版本兼容(如 CUDA 11.8 需驱动 520+)。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复