问一下大佬门,一张N卡,一张A卡,他们可以运行在一个ubuntu系统里面?
-
一张 N 卡 + 一张 A 卡直接装进同一个 Ubuntu 完全可行,也是大多数人(包括站里混插的)的做法。先给结论:除非你有"硬隔离"需求,否则不用上 PVE 分两台虚拟机直通——单系统双卡共存零成本。
驱动共存没你想的那么吓人:
- A 卡走内核自带的 amdgpu(开源驱动),N 卡装官方闭源驱动,两者各管各的卡,互不打架。nvidia-smi 看 N 卡,rocm-smi 看 A 卡。
- CUDA 应用自动落 N 卡(llama.cpp CUDA 版、vLLM、ComfyUI N 卡版),ROCm/Vulkan 应用落 A 卡。想强制指定就 CUDA_VISIBLE_DEVICES / HIP_VISIBLE_DEVICES 环境变量。
但"并行"要先分清两种,别期待错:
- 各跑各的实例(一张卡一个任务,同时进行):可以。5090 跑 CUDA 活、7900XTX 跑 Vulkan/ROCm 活,互不抢显存互不干扰,站内这么干的人不少。
- 合起来跑同一个大模型(tensor-split / TP,两张卡并成一个算力):做不到。llama.cpp 的 CUDA 后端只认 N 卡,ROCm 后端只认 A 卡;Vulkan 虽然能枚举多卡,但也不支持 N+A 异构分片。vLLM/SGLang 的 TP 同理,要求同品牌同架构。想合跑一个模型只能 N+N 或 A+A。
什么时候才值得上 PVE 直通:
- 你要硬隔离:两张卡分给不同的人/租户、某张卡要直通进 Windows 虚拟机、或者你经常折腾驱动怕把宿主环境搞炸——这时候虚拟化才有意义。
- 只是自己跑 AI 任务:单 Ubuntu 直接插就完事,少一层虚拟化、少一堆 IOMMU/直通配置,出问题也好查。
一句话:同机各跑各的 = 正解;合跑一个模型请买同品牌;PVE 是给"隔离"场景准备的,不是给"装两张卡"准备的。