【MinerU】 3090部署 CUDA版本升级

1.MinerU要求使用高版本CUDA

我在矩池云上租了3090,但是 CUDA 只有12.2 , 当使用 MinerU-b vlm-auto-engine 时,官方文档上写着CUDA 最低要12.9 ,当我询问 Gemini 如何升级的时候,给出的答案是只升级 CUDA Toolkit

我按照指引,升级了 Toolkit (速度较慢),发现可以使用相关的推理模式,同时 CUDA 仍保留了 12.2 的版本,非常神奇,也许说明了 Toolkit 的版本可以比 CUDA 高吧。


2.安装Toolkit的过程

以下是Gemini的答案,我选择性的执行了

在 Ubuntu 系统上安装 CUDA 12.9 是配置深度学习和高性能计算环境非常关键的一步。为了保证安装顺利,最稳妥的方法是使用 NVIDIA 官方的 本地 DEB 安装包 (Local Deb),这样可以避免在线安装时网络波动导致的失败。

以下是基于 Ubuntu 22.04 的完整安装步骤(如果你使用的是 Ubuntu 20.04 或 24.04,只需将命令中的 ubuntu2204 替换为对应版本号即可):

2.1 准备工作(可选但推荐,我没操作)

在安装新版本之前,如果你的系统里有旧版本的 CUDA 且可能会产生冲突,建议先清理一下环境(如果是全新安装,可跳过此步):

bash 复制代码
sudo apt-get --purge remove "*cuda*" "*cublas*" "*cufft*" "*cufit*" "*curand*" "*cusolver*" "*cusparse*" "*cudnn*"
sudo apt-get autoremove

安装基础的编译依赖:

bash 复制代码
sudo apt update
sudo apt install gcc g++ build-essential

2.2 下载并安装 CUDA 12.9

依次在终端中运行以下命令:

配置仓库优先级:

bash 复制代码
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600

下载 CUDA 12.9 本地安装包(文件较大,大约 4GB 左右,请耐心等待):

bash 复制代码
wget https://developer.download.nvidia.com/compute/cuda/12.9.0/local_installers/cuda-repo-ubuntu2204-12-9-local_12.9.0-575.51.03-1_amd64.deb

安装本地仓库和 GPG 密钥:

bash 复制代码
sudo dpkg -i cuda-repo-ubuntu2204-12-9-local_12.9.0-575.51.03-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-9-local/cuda-*-keyring.gpg /usr/share/keyrings/

更新源并安装 CUDA Toolkit:

bash 复制代码
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-9

注意: 如果你的系统还没有安装 NVIDIA 显卡驱动,可以将上述最后一条命令替换为 sudo apt-get -y install cuda-12-9,这样它会连同推荐的显卡驱动一起安装。如果只想安装 CUDA 开发套件而不碰现有驱动,请保持使用 cuda-toolkit-12-9


2.3 配置环境变量(我没做)

安装完成后,CUDA 并不会自动加入到系统的环境变量中,必须手动配置才能被系统识别。

打开你的终端配置文件(默认是 bash,如果你使用的是 zsh,请修改 ~/.zshrc):

bash 复制代码
nano ~/.bashrc

在文件的最末尾,添加以下两行:

bash 复制代码
export PATH=/usr/local/cuda-12.9/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.9/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

保存并退出(在 nano 中按 Ctrl+O 回车保存,按 Ctrl+X 退出),然后刷新配置文件使其立即生效:

bash 复制代码
source ~/.bashrc

2.4 验证安装

运行以下命令检查 CUDA 编译器版本:

bash 复制代码
nvcc --version

如果终端成功输出包含 Cuda compilation tools, release 12.9 的字样,说明你的 CUDA 环境已经完美安装!

同时,你可以使用以下命令查看 GPU 状态和当前驱动支持的最高 CUDA 版本:

bash 复制代码
nvidia-smi

3. MinerU的安装与使用

直接参考官网即可:

bash 复制代码
export MINERU_MODEL_SOURCE=modelscope
pip install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple
pip install uv -i https://mirrors.aliyun.com/pypi/simple
uv pip install -U "mineru[all]" -i https://mirrors.aliyun.com/pypi/simple 

使用的时候,主要有以下两个模式,vlm模式效果更好:

bash 复制代码
mineru -p bbb.pdf -o ./output_vlm -b vlm-auto-engine
mineru -p bbb.pdf -o ./output_pipeline -b pipeline

如果显存不够,还可以这样做(我貌似使用了不到15G显存,就能运行vlm模式的mineru):

bash 复制代码
export MINERU_PROCESSING_WINDOW_SIZE=2
mineru -p /home/ilovepdf_merged_merged.pdf  -o ./output_vlm  -b vlm-auto-engine --batch_size=1 --gpu-memory-utilization 0.28

显存占用:

bash 复制代码
Two Step Extraction: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:03<00:00,  1.70s/it]
2026-05-07 19:28:53.190 | INFO     | mineru.backend.vlm.vlm_analyze:aio_doc_analyze:560 - VLM processing window 5/45: pages 9-10/89 (2 pages)00:00,  1.63s/it]
Two Step Extraction: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:05<00:00,  2.68s/it]
2026-05-07 19:28:58.915 | INFO     | mineru.backend.vlm.vlm_analyze:aio_doc_analyze:560 - VLM processing window 6/45: pages 11-12/89 (2 pages)0:00,  2.26s/it]
Two Step Extraction: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:05<00:00,  2.69s/it]
2026-05-07 19:29:04.575 | INFO     | mineru.backend.vlm.vlm_analyze:aio_doc_analyze:560 - VLM processing window 7/45: pages 13-14/89 (2 pages)0:00,  2.44s/it]


+---------------------------------------------------------------------------------------+
Thu May  7 19:30:23 2026       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.98                 Driver Version: 535.98       CUDA Version: 12.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  NVIDIA RTX A6000               On  | 00000000:1E:00.0 Off |                  Off |
| 42%   72C    P2             233W / 300W |  14664MiB / 49140MiB |     91%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         

4.关于CUDA的深入问答

以下内容我都没有执行。 以下是关于cuda的深度问答,我和gemini进行的,供大家参考。

问题1:我已经有12.1的CUDA了。

既然你的电脑里已经有了 CUDA 12.1,说明你的系统已经安装了 NVIDIA 显卡驱动。这是一个好消息!这说明你的基础硬件环境是正常的。

在 Ubuntu 系统中,多个版本的 CUDA 是可以完美共存的 (它们会被分别安装在 /usr/local/cuda-12.1/usr/local/cuda-12.9 目录下)。你完全可以保留 12.1,同时安装 12.9,随时在它们之间切换。

针对你现在的情况,请按照以下策略进行操作,以确保安全升级且不破坏现有环境:

第一步:确认当前驱动是否支持 CUDA 12.9

打开终端,运行以下命令:

bash 复制代码
nvidia-smi

在输出的表格右上角,你会看到一个 CUDA Version: XX.X

  • 这个数字代表你当前显卡驱动所能支持的最高 CUDA 版本
  • 如果这个数字是 12.9 或更高(比如 12.x 系列的高版本): 恭喜,你现在的驱动完全兼容 CUDA 12.9,无需更新驱动。
  • 如果这个数字低于 12.9(比如就是 12.1): 虽然 CUDA 12 系列有"小版本向下兼容"的特性,但为了避免跑最新大模型或框架时出现底层 Bug,建议连同驱动一起升级。

第二步:安全安装 CUDA 12.9

既然你已经有驱动了,在执行我上一条回复中的【第 2 步】时,请务必注意最后一条安装命令的选择

情况 A:你的驱动已经支持 12.9(或你不想碰现在的驱动,只想装 Toolkit)

强烈建议只安装 CUDA 开发套件,不覆盖现有驱动。请执行:

bash 复制代码
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-9

(注意:是 cuda-toolkit-12-9,这样绝对不会导致你重启后黑屏或驱动掉线。)

情况 B:你的驱动太老,你想让它顺便帮你把驱动升级了

如果你确定要连驱动一起升级,请执行:

bash 复制代码
sudo apt-get update
sudo apt-get -y install cuda-12-9

第三步:在 12.1 和 12.9 之间切换(环境变量配置)

安装完成后,你的 /usr/local/ 目录下会有两个文件夹:cuda-12.1cuda-12.9。系统具体使用哪一个,完全取决于你的环境变量设置。

打开终端配置文件:

bash 复制代码
nano ~/.bashrc

找到你之前配置 CUDA 12.1 的地方(通常在文件末尾),把它修改为 12.9 的路径。修改后的样子应该是:

bash 复制代码
export PATH=/usr/local/cuda-12.9/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.9/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

(提示:如果你以后想换回 12.1,只需要把这里的 12.9 改回 12.1,然后重新 source ~/.bashrc 即可。)

保存退出后,刷新环境:

bash 复制代码
source ~/.bashrc

最后,运行 nvcc -V,如果输出显示 release 12.9,就大功告成了!


问题2:3090支持 CUDA12.9 吗?

结论是:完全支持!

RTX 3090 是基于 Ampere 架构的显卡(计算能力为 8.6),它完美兼容整个 CUDA 12.x 系列,包括最新的 CUDA 12.9。从硬件层面来说,3090 不仅能跑 CUDA 12.9,而且依然是目前深度学习、计算机视觉以及跑大语言模型的绝佳利器。

不过,为了让你的 3090 顺利运行 CUDA 12.9,需要注意软件层面的匹配

核心要素:显卡驱动版本

显卡(硬件)支持不等于系统(软件)直接支持。你的 3090 能否真正用上 CUDA 12.9,取决于你系统安装的 NVIDIA 显卡驱动版本

  • 既然你的电脑当前有 CUDA 12.1,说明你的显卡驱动版本大概率停留在 530.xx 到 545.xx 之间。
  • CUDA 12.9 通常需要更新的驱动版本(例如 Linux 下的 570.xx 系列)才能完整支持其所有新特性。

针对 3090 的安装建议

为了让 3090 完美适配 CUDA 12.9,建议在安装时连同显卡驱动一起升级

你可以直接使用上一条回复中提到的全局安装命令:

bash 复制代码
sudo apt-get update
sudo apt-get -y install cuda-12-9

(注意:这里使用的是 cuda-12-9 而不是 cuda-toolkit-12-9)

这条命令非常省心,它在安装 CUDA 12.9 开发套件的同时,会自动帮你把 RTX 3090 的显卡驱动升级到官方推荐的匹配版本。安装完成后,只需重启电脑 ,在终端输入 nvidia-smi,你就能看到右上角的 CUDA Version 变成了 12.9,这代表你的 3090 已经处于最佳状态。


问题3:我装了toolkit 12.9,cuda仍保持12.2,为什么能工作?

这是一个非常经典且专业的底层机制问题!你遇到的情况完全正常,并没有装错。之所以在 nvidia-smi 显示 CUDA 12.2 的情况下,Toolkit 12.9 依然能完美工作,要归功于 NVIDIA 的 "小版本兼容性(Minor Version Compatibility)" 机制,以及 CUDA 架构中两个不同层面的区分。

1. 你的电脑里其实有两个 "CUDA"

在 NVIDIA 的生态中,CUDA 被分为了两层:

  • Driver API(驱动层 API,nvidia-smi 显示的版本): 你看到的 12.2 是跟着你的显卡驱动走的(比如 535.xx 系列驱动)。它代表了你当前这套底层显卡驱动所能支持的基础运行环境
  • Runtime API(运行层 API,nvcc -V 显示的版本): 你刚安装的 Toolkit 12.9。这是上层的软件开发包,包含编译器、数学库等,是你实际用来跑代码的环境。

2. 为什么 12.2 的驱动能带得动 12.9 的 Toolkit?

在早些年(CUDA 11 之前),这是绝对不行的,Toolkit 版本哪怕比驱动版本高一点点,跑代码就会直接报错。

但从 CUDA 11 开始,NVIDIA 引入了向前兼容性 。只要主版本号一致(都是 12.x 系列) ,高版本的 Toolkit 是允许在低版本的驱动上运行的。

因为 12.9 和 12.2 的核心架构和指令集没有发生根本性变化,NVIDIA 在底层做好了兼容。你的 12.2 驱动在遇到 12.9 编译出来的程序时,能够无缝接管并正常计算。

3. 对实际工作的影响

只要你没有调用仅仅在 CUDA 12.3 到 12.9 之间才推出的极其底层的全新硬件级 API(这种情况在常规开发中极为罕见),系统就不会有任何问题。

在实际的工程落地中,比如你正在训练 YOLO 系列(YOLOv8-v11)模型进行图像缺陷检测 ,或者在后台编排 RAG(检索增强生成)系统 和调用 Agent 工作流,底层的 PyTorch、ONNX Runtime 或 TensorRT 主要调用的依然是 CUDA 12 的核心通用算子。因此,当前的 12.2 驱动配合 12.9 的 Toolkit,完全能够流畅且高效地处理这些计算机视觉和自然语言处理任务,不会产生计算精度的损失或兼容性阻碍。

总结:

你现在可以完全放心继续使用。如果不强求 nvidia-smi 的数字一定要好看,当前的组合已经足以应对绝大多数前沿的 AI 研发任务,不需要非得去折腾升级显卡驱动。

相关推荐
weixin_377634844 天前
【MinerU】 Docker Compose 使用
docker·容器·mineru
weixin_377634844 天前
【MinerU】Pipeline 与 Auto-Engine 模式
文档解析
weixin_377634844 天前
【MinerU】API 服务与 Router服务
文档解析·mineru
weixin_377634844 天前
【MinerU】多类型文件解析与模型管理
文档解析·mineru
weixin_377634844 天前
【MinerU】昇腾910B部署
文档解析·mineru·昇腾910b
盼小辉丶7 天前
TextIn xParse Skill上架ClawHub,补齐Agent“读文档”短板
文档解析·openclaw·xparse-parser
合合技术团队14 天前
RAGFlow集成TextIn方案2.0上线!支持快速镜像部署,随时切换解析插件
文档解析·ragflow·textin
耿雨飞22 天前
MinerU 系列教程 | 第一课:走进 MinerU -- 核心功能与整体架构概览
mineru·llm应用平台
_张一凡25 天前
【文档解析】一文学懂百度千帆OCR模型细节及本地部署
深度学习·ocr·文档解析·千帆ocr·rag文档解析·qianfan-ocr