3. 环境准备:硬件要求、操作系统与驱动验证

说实话,Isaac Sim 这玩意儿对硬件挺挑的。我刚开始部署的时候,以为随便一台带 GPU 的机器就能跑,结果踩了不少坑。这一章咱们就把环境准备这件事彻底捋清楚。

3.1 硬件要求:GPU、显存与驱动

Isaac Sim 基于 NVIDIA Omniverse 平台,核心计算全靠 GPU。你想想看,一个仿真场景里可能有几十个机器人、上千个物体,还要实时渲染物理效果——这活儿 CPU 真干不了。

硬件项 最低要求 推荐配置 说明
GPU 架构 Turing (RTX 20系列) Ampere (RTX 30系列) 或更新 必须支持 RTX 实时光线追踪
显存 8 GB 16 GB 及以上 显存不够直接报 OOM,我吃过这亏
驱动版本 R535+ R545+ 驱动太老连 CUDA 都认不出
CUDA 版本 11.8 12.2+ 必须与驱动匹配
⚠️ 显存是硬门槛
我曾经在一台 RTX 3060 12GB 的机器上跑 Isaac Sim,加载一个中等复杂度的仓库场景,显存直接飙到 10.5 GB。如果你只有 8 GB,建议先跑轻量级场景,或者用 Docker 限制显存分配。

3.2 操作系统要求:Ubuntu 20.04 vs 22.04

官方支持 Ubuntu 20.04 LTS 和 22.04 LTS。我个人习惯用 22.04,因为内核更新,对 Docker 和 NVIDIA 容器工具链的支持更好。但如果你团队里有老项目依赖 20.04 的库,也别慌——两个版本都能跑。

项目 Ubuntu 20.04 Ubuntu 22.04
内核版本 5.4 5.15
GCC 默认版本 9.4 11.4
Docker 兼容性 良好 优秀
NVIDIA 驱动支持 R470+ R525+
💡 我的建议
如果你是新项目,直接上 Ubuntu 22.04。如果是已有服务器,20.04 也完全够用。关键是 不要用桌面版——服务器版 + 远程运行才是正经用法。

3.3 NVIDIA 驱动与 CUDA 安装验证

这一步是很多人的噩梦。驱动装不对,CUDA 装不上,Isaac Sim 根本跑不起来。我整理了一套标准流程,跟着走基本不会翻车。

3.3.1 检查现有驱动

先看看机器上有没有驱动:

nvidia-smi

如果输出类似下面这样,说明驱动已经装好了:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 545.23.08    Driver Version: 545.23.08    CUDA Version: 12.3     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  NVIDIA RTX 4090      Off  | 00000000:01:00.0  On |                  Off |
| 30%   45°C    P0    120W / 450W|   3200MiB / 24564MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
🔍 关键信息解读
  • Driver Version:必须 ≥ 535,否则后面 Docker 容器起不来
  • CUDA Version:这是驱动支持的最高 CUDA 版本,不是实际安装的 CUDA
  • 显存使用:确保有足够空闲显存

3.3.2 安装驱动(如果没有)

我个人推荐用 NVIDIA 官方 runfile 安装,干净利落:

# 先卸载旧驱动(如果有)
sudo apt purge nvidia-* -y

# 禁用 Nouveau 开源驱动
echo "blacklist nouveau" | sudo tee /etc/modprobe.d/blacklist-nvidia-nouveau.conf
sudo update-initramfs -u
sudo reboot

# 下载驱动(以 R545 为例)
wget https://us.download.nvidia.com/XFree86/Linux-x86_64/545.23.08/NVIDIA-Linux-x86_64-545.23.08.run

# 安装
chmod +x NVIDIA-Linux-x86_64-545.23.08.run
sudo ./NVIDIA-Linux-x86_64-545.23.08.run --no-opengl-files

# 验证
nvidia-smi
⚠️ 避坑指南
我曾经在 Ubuntu 22.04 上用 apt 装驱动,结果系统自动装了 R470 版本,导致 CUDA 12 不兼容。后来全部卸载,改用 runfile 安装才解决。所以——能用 runfile 就别用 apt。

3.3.3 安装 CUDA Toolkit

驱动装好后,CUDA Toolkit 可以按需安装。Isaac Sim 2023.1 需要 CUDA 11.8,但如果你用 Docker 容器化部署,宿主机只需要驱动,CUDA Toolkit 可以装在容器里。不过为了本地调试方便,我还是建议装一份:

# 下载 CUDA 12.2(与驱动匹配)
wget https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda_12.2.0_535.54.03_linux.run

sudo sh cuda_12.2.0_linux.run --toolkit --silent --override

# 配置环境变量
echo 'export PATH=/usr/local/cuda-12.2/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

# 验证
nvcc --version

3.3.4 验证 CUDA 与驱动匹配

这一步很多人会忽略。驱动和 CUDA 版本必须匹配,否则容器里调用 GPU 会报错。验证方法很简单:

# 查看驱动支持的 CUDA 版本
nvidia-smi | grep "CUDA Version"

# 查看实际安装的 CUDA 版本
nvcc --version | grep "release"

举个例子:如果 nvidia-smi 显示 CUDA Version 12.3,但 nvcc 显示 11.8,说明你装了低版本的 CUDA Toolkit。这在 Docker 容器化场景下其实没问题——容器可以用自己的 CUDA,宿主机驱动只要版本够高就行。

💡 核心原则
宿主机驱动版本 ≥ 容器内 CUDA 版本。比如容器用 CUDA 11.8,宿主机驱动至少 R535。驱动向下兼容,放心用。

3.4 环境验证清单

为了确保万无一失,我建议你跑一遍这个验证脚本:

#!/bin/bash
echo "=== GPU 信息 ==="
nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv,noheader

echo "=== CUDA 版本 ==="
nvcc --version | grep "release"

echo "=== Docker 检查 ==="
docker --version

echo "=== NVIDIA Container Toolkit ==="
nvidia-container-cli --version

echo "=== 容器 GPU 访问测试 ==="
docker run --rm --gpus all nvidia/cuda:12.2.0-base-ubuntu22.04 nvidia-smi

如果最后一步能正常输出 GPU 信息,恭喜你——环境准备完毕,可以进入下一阶段了。

📋 最终检查表
  • ✅ GPU 架构 ≥ Turing,显存 ≥ 8 GB
  • ✅ Ubuntu 20.04 或 22.04 LTS
  • ✅ NVIDIA 驱动 ≥ R535
  • ✅ CUDA Toolkit 与驱动匹配
  • ✅ Docker 已安装
  • ✅ NVIDIA Container Toolkit 已安装
  • ✅ 容器内能调用 GPU
环境准备核心流程 硬件检查 操作系统 NVIDIA 驱动 CUDA Toolkit Docker 引擎 NVIDIA Container Toolkit 最终验证:容器内 nvidia-smi 核心原则:宿主机驱动版本 ≥ 容器内 CUDA 版本 驱动向下兼容,容器可独立使用任意 CUDA 版本

嗯,到这里环境准备就全部完成了。这套流程我反复验证过多次,只要按步骤来,基本不会出问题。如果你在驱动安装那一步卡住了,多半是 Nouveau 没禁用——回去检查一下 /etc/modprobe.d/ 目录下的配置文件。