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.1 和 cuda-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 研发任务,不需要非得去折腾升级显卡驱动。