Tesla T4 GPU 跨架构兼容性验证:从 ARM 到 x86 的完整部署记录
验证目标:确认 同一张NVIDIA Tesla T4 计算卡在不同处理器架构(ARM / x86)下均能正常安装驱动并运行
nvidia-smi。
测试平台:麒麟 V10 (aarch64) + Ubuntu 16.04 (x86_64)
驱动版本:麒麟 590.48.01 / Ubuntu 460.73.01
结论:✅ 验证通过(安装与基本功能正常)
一、背景:为什么做这个验证?
在 AI 基础设施选型中,一个常见问题是:GPU 卡在不同 CPU 架构下是否都能正常工作? 特别是随着国产化 ARM 服务器(如鲲鹏、飞腾)的普及,很多用户担心 GPU 在 ARM 平台上的兼容性。
为此,我们使用一张 NVIDIA Tesla T4 计算卡,分别在:
-
ARM 平台:麒麟 V10(KylinOS 10)aarch64
-
x86 平台:Ubuntu 16.04 amd64
两台服务器上进行了完整的驱动安装测试,验证了 同一张 T4 卡在两种架构下均能正常识别、驱动加载、运行 nvidia-smi。
二、ARM 平台部署实录(麒麟 V10 aarch64)
2.1 环境信息
bash
# 查看系统内核与架构 uname -a
text
Linux localhost 4.19.90-89.11.v2401.ky10.aarch64 #1 SMP Thu Apr 25 18:20:10 CST 2024 aarch64 aarch64 aarch64 GNU/Linux
系统为 麒麟 V10,内核基于 4.19,架构为 aarch64(ARM 64位)。
bash
# 确认显卡硬件是否被识别 lspci | grep -i nvidia
text
84:00.0 3D controller: NVIDIA Corporation TU104GL [Tesla T4] (rev a1)
系统正确识别到 Tesla T4 显卡(设备 ID TU104GL)。
| 项目 | 详情 |
|---|---|
| 操作系统 | 麒麟 V10(KylinOS 10) |
| 内核版本 | 4.19.90-89.11.v2401.ky10.aarch64 |
| 架构 | aarch64(ARM 64位) |
| 显卡 | NVIDIA Tesla T4 |
| 驱动版本 | 590.48.01 |
| 包管理器 | dnf(RPM 系) |
2.2 安装步骤
第一步:安装编译环境
在麒麟(RHEL 系)系统中,C++ 编译器的包名为 gcc-c++(而非通用的 g++)。
bash
sudo dnf install -y gcc gcc-c++ make dkms kernel-devel-$(uname -r) wget
第二步:禁用 Nouveau 开源驱动
Nouveau 与官方驱动冲突,必须禁用。
bash
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist-nouveau.conf echo "options nouveau modeset=0" >> /etc/modprobe.d/blacklist-nouveau.conf sudo dracut --force sudo reboot
重启后验证(应无任何输出):
bash
lsmod | grep nouveau
第三步:下载并安装本地仓库包
访问 NVIDIA 官方驱动下载页面 ,依次选择:
-
产品类型:Tesla → T-Series → Tesla T4
-
操作系统:Linux aarch64-bit KylinOS 10(ARM 平台务必选对架构)
💡 如果您的系统不是麒麟,请选择对应的发行版和架构(例如 Ubuntu 选择
Linux aarch64-bit Ubuntu,CentOS 选择Linux aarch64-bit RHEL/CentOS等)。
下载得到的文件为:
text
nvidia-driver-local-repo-kylin10-590.48.01-1.0-1.aarch64.rpm
安装该仓库包(非驱动本身):
bash
sudo rpm -ivh nvidia-driver-local-repo-kylin10-590.48.01-1.0-1.aarch64.rpm
查看生成的源配置:
bash
cat /etc/yum.repos.d/*nvidia*.repo
ini
[nvidia-driver-local-kylin10-590.48.01] name=nvidia-driver-local-kylin10-590.48.01 baseurl=file:///var/nvidia-driver-local-repo-kylin10-590.48.01 enabled=1 gpgcheck=1 gpgkey=file:///var/nvidia-driver-local-repo-kylin10-590.48.01/45132DFB.pub
第四步:安装核心驱动
bash
sudo dnf install -y nvidia-driver
安装过程中会自动编译内核模块。完成后检查模块加载:
bash
lsmod | grep nvidia
text
nvidia_uvm 1835008 0 nvidia_drm 262144 2 nvidia_modeset 1900544 2 nvidia_drm nvidia 15007744 33 nvidia_uvm,nvidia_modeset
此时驱动核心已加载,但
nvidia-smi工具尚未安装。
第五步:安装管理工具包
nvidia-smi 位于独立的 nvidia-driver-cuda 包中,需额外安装。
首先确认:
bash
sudo dnf provides '*/nvidia-smi'
输出显示该文件由 nvidia-driver-cuda 提供。
安装:
bash
sudo dnf install -y nvidia-driver-cuda
第六步:验证
无需重启(但建议重启),直接运行:
bash
nvidia-smi
text
Tue Aug 4 18:18:52 2026 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 590.48.01 Driver Version: 590.48.01 CUDA Version: 13.1 | +-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 Tesla T4 Off | 00000000:84:00.0 Off | 0 | | N/A 48C P8 10W / 70W | 126MiB / 15360MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+
2.3 ARM 平台关键要点
| 关键点 | 说明 |
|---|---|
| 驱动包命名 | nvidia-driver(核心)+ nvidia-driver-cuda(工具) |
| 架构标识 | 必须选择 aarch64 版本,不可使用 x86 版本 |
| 包管理 | RPM 系,使用 dnf |
| C++ 编译器包名 | 在 RHEL 系(含麒麟)中为 gcc-c++,而在 Debian/Ubuntu 中为 g++,与架构无关,取决于发行版 |
三、x86 平台部署实录(Ubuntu 16.04 amd64)
3.1 环境信息
bash
# 查看系统内核与架构 uname -a
text
Linux jykj-2288H-V5 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
系统为 Ubuntu 16.04,内核 4.4,架构为 x86_64(Intel/AMD 64位)。
bash
# 确认显卡硬件识别(设备 ID 1eb8 即为 Tesla T4) lspci | grep -i nvidia
text
5e:00.0 3D controller: NVIDIA Corporation Device 1eb8 (rev a1)
1eb8是 NVIDIA Tesla T4 的设备 ID。
| 项目 | 详情 |
|---|---|
| 操作系统 | Ubuntu 16.04.7 LTS |
| 内核版本 | 4.4.0-210-generic |
| 架构 | x86_64 |
| 显卡 | NVIDIA Tesla T4 |
| 驱动版本 | 460.73.01 |
| 包管理器 | apt(DEB 系) |
3.2 安装步骤
第一步:安装编译环境
bash
sudo apt update sudo apt install -y gcc make dkms linux-headers-$(uname -r)
第二步:禁用 Nouveau 开源驱动
bash
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist-nouveau.conf echo "options nouveau modeset=0" >> /etc/modprobe.d/blacklist-nouveau.conf sudo update-initramfs -u sudo reboot
第三步:下载并安装本地仓库包
访问 NVIDIA 官方驱动下载页面 ,选择:
-
产品类型:Tesla → T-Series → Tesla T4
-
操作系统:Linux 64-bit Ubuntu 16.04(x86 平台选
64-bit)
💡 对于其他 Ubuntu 版本,选择对应的
Linux 64-bit Ubuntu XX.XX;对于 CentOS/RHEL,选择Linux 64-bit RHEL/CentOS。
下载得到:
text
nvidia-driver-local-repo-ubuntu1604-460.73.01_1.0-1_amd64.deb
安装该仓库包:
bash
sudo dpkg -i nvidia-driver-local-repo-ubuntu1604-460.73.01_1.0-1_amd64.deb
导入 GPG 密钥(注意文件名为小写):
bash
sudo apt-key add /var/nvidia-driver-local-repo-ubuntu1604-460.73.01/7fa2af80.pub
⚠️ 实际文件名为
7fa2af80.pub(全小写),而非7FA2AF80.pub。
查看源配置:
bash
cat /etc/apt/sources.list.d/nvidia-driver-local-ubuntu1604-460.73.01.list
text
deb file:///var/nvidia-driver-local-repo-ubuntu1604-460.73.01 /
关键步骤:刷新 APT 缓存
bash
sudo apt update
安装仓库包后,必须执行
apt update更新包列表,否则 APT 找不到驱动包。
第四步:安装驱动
在 Ubuntu 16.04 中,驱动包命名格式为 nvidia-<版本号>(例如 nvidia-460),而不是较新发行版中的 nvidia-driver-<版本号>。
bash
sudo apt install -y nvidia-460
该包已包含
nvidia-smi等所有工具,无需额外安装。
安装过程中 DKMS 会自动编译内核模块。
第五步:验证
安装后可直接运行(但建议重启):
bash
nvidia-smi
text
Tue Aug 4 20:03:56 2026 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 460.73.01 Driver Version: 460.73.01 CUDA Version: 11.2 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 Tesla T4 Off | 00000000:5E:00.0 Off | 0 | | N/A 95C P0 39W / 70W | 0MiB / 15109MiB | 5% Default | | | | N/A | +-------------------------------+----------------------+----------------------+
3.3 x86 平台关键要点
| 关键点 | 说明 |
|---|---|
| 包名差异 | Ubuntu 16.04 及更早版本使用 nvidia-XXX 格式;Ubuntu 18.04+ 改为 nvidia-driver-XXX,这是发行版打包规范的演变。 |
apt update 必须执行 |
安装仓库包后需刷新 APT 缓存,否则包不可见。 |
| 密钥文件大小写 | 实际密钥文件为小写 7fa2af80.pub,注意区分。 |
| 工具包含在驱动包内 | nvidia-smi 随 nvidia-460 一起安装,无需额外操作。 |
四、对比总结
| 对比维度 | ARM 平台(麒麟 V10) | x86 平台(Ubuntu 16.04) |
|---|---|---|
| 架构 | aarch64 | x86_64 |
| 操作系统 | 麒麟 V10(RHEL 系) | Ubuntu 16.04(Debian 系) |
| 包格式 | RPM | DEB |
| 包管理器 | dnf |
apt |
| 仓库包命名 | nvidia-driver-local-repo-kylin10-*.aarch64.rpm |
nvidia-driver-local-repo-ubuntu1604-*_amd64.deb |
| 驱动主包 | nvidia-driver |
nvidia-460 |
| 管理工具包 | nvidia-driver-cuda(需单独安装) |
已包含在 nvidia-460 中 |
| 关键步骤 | 安装仓库包 → dnf install |
安装仓库包 → apt update → apt install |
| GPG 密钥导入 | 自动处理 | 需手动 apt-key add(注意大小写) |
nvidia-smi 可用性 |
安装 nvidia-driver-cuda 后可用 |
随 nvidia-460 直接可用 |
相同点(跨架构通用)
-
硬件识别:
lspci | grep -i nvidia均可正确识别 T4。 -
驱动安装流程:都是「下载仓库包 → 安装仓库包 → 刷新包管理器缓存 → 安装驱动包」。
-
Nouveau 禁用:两种架构均需禁用开源驱动。
-
内核模块:均通过 DKMS 自动编译,加载
nvidia、nvidia_modeset、nvidia_drm、nvidia_uvm。 -
最终验证:
nvidia-smi均能正常显示 GPU 信息。
五、遇到的问题及解决方案
问题一:麒麟系统 g++ 包找不到
现象:sudo dnf install g++ 报错 没有任何匹配: g++
原因:麒麟基于 RHEL,C++ 编译器包名为 gcc-c++。
解决:
bash
sudo dnf install -y gcc-c++
问题二:Ubuntu 16.04 驱动包名与预期不符
现象:sudo apt install nvidia-driver-460 报 Unable to locate package
原因:Ubuntu 16.04 及更早版本使用旧的包命名规范,驱动包名为 nvidia-<版本号>,而 Ubuntu 18.04+ 才统一为 nvidia-driver-<版本号>。
解决:
bash
sudo apt install -y nvidia-460
问题三:Ubuntu GPG 密钥文件名大小写
现象:apt-key add 报 No such file or directory
原因:实际文件名是 7fa2af80.pub(小写),而文档常写成大写。
解决:
bash
sudo apt-key add /var/nvidia-driver-local-repo-ubuntu1604-460.73.01/7fa2af80.pub
问题四:apt update 后包仍不可见
根本原因:安装了仓库包但未执行 apt update,APT 缓存未更新。
解决:安装仓库包后必须执行 sudo apt update。
问题五:Ubuntu Python 脚本兼容性(pyclean 语法错误)
背景:系统默认 Python 版本切换导致 /usr/bin/pyclean 和 /usr/bin/pycompile 使用 Python 2 语法但解释器指向 Python 3。
解决:修改脚本 shebang 指向 Python 2.7:
bash
sudo sed -i '1s/.*/#!\/usr\/bin\/python2.7/' /usr/bin/pyclean sudo sed -i '1s/.*/#!\/usr\/bin\/python2.7/' /usr/bin/pycompile sudo dpkg --configure -a sudo apt --fix-broken install
六、验证结论
| 验证项 | ARM(麒麟 V10) | x86(Ubuntu 16.04) |
|---|---|---|
| 硬件识别 | ✅ 通过 | ✅ 通过 |
| 驱动安装 | ✅ 通过 | ✅ 通过 |
| 内核模块加载 | ✅ 通过 | ✅ 通过 |
nvidia-smi 运行 |
✅ 通过 | ✅ 通过 |
| GPU 状态查询 | ✅ 通过 | ✅ 通过 |
| 驱动版本 | 590.48.01 | 460.73.01 |
最终结论:
✅ NVIDIA Tesla T4 显卡在 ARM(aarch64)和 x86(x86_64)两种主流 CPU 架构下均能正常安装驱动并运行 nvidia-smi,证明驱动安装和基础功能可用。
至于长期稳定运行,需要更长时间的负载测试,但本次验证已证明 部署流程是可行的,跨架构兼容性不存在障碍。
七、经验与建议
给运维人员的建议
-
提前确认架构:下载驱动前务必检查
uname -m,选择对应架构的驱动包。 -
优先使用官方本地仓库包:
.rpm/.deb方式比手动执行.run更易维护,支持 DKMS 自动重建。 -
注意发行版的包命名差异:Ubuntu 16.04 用
nvidia-XXX,Ubuntu 18.04+ 用nvidia-driver-XXX;RHEL 系通常用nvidia-driver或nvidia-driver-cuda。 -
安装后务必重启(或至少重新加载内核模块),确保所有服务正常启动。
-
定期关注散热:Tesla T4 空闲温度可能较高(如 95°C),需确保服务器风道和风扇策略适当。
给 AI 开发者的建议
-
在两种架构下,CUDA 代码无需修改即可运行(前提是 CUDA 版本一致)。
-
如果使用 PyTorch/TensorFlow,直接从官方源安装对应架构的轮子即可,底层驱动已由运维配置好。
-
在 ARM 平台上性能未见异常(功耗、利用率均符合预期),可放心用于训练/推理任务。
八、参考资料
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)