DELL R730XD 安装 NVIDIA Tesla K80 以及使用 Ollama 运行 Deepseek
折腾麻了,垃圾佬套餐还是难啃,好在有地方抄作业
- NVIDIA Tesla K80
- DELL R730XD
什么,你也玩 Deepseek?
这个年过的还是挺有意思的,尽管没学什么东西,好在有点东西折腾。
Deepseek 大火,年前发布,除夕那几天火的不行,官网服务繁忙,像极了 ChatGPT 刚出时的样子,好就好在 Deepseek 在国内访问总是便捷的。于此同时,开源权重模型无疑是大大提高了它的可玩性。在我弱鸡的 3050 笔记本上,4G 的尴尬显存,7B 上不去,1.5B 占用又比较少,属于是很尴尬的情况。在开始几天稍微玩了玩,后来还用 open-webui 做网页版,不过由于 GPU 显存实在太小,同时 distill 模型也不能说是真正的 Deepsek,也就搁置了。
怎么会想到买显卡呢?
事情最早是从叫朋友帮我给 R730XD 装个 PVE 开始,当时连核显都没有的 Win 10,看起来就很卡,于是想着搞张显卡,不过当时看着 M40,P40 价格水涨船高,直接劝退,况且还有折腾门槛。
当时看到了 K80,但是经过一通 Search,发现这玩意是双核心显卡,常规软件无法使用,例如 Ollama 和 pytorch,毕竟 Kepler 架构有够老的,CUDA 最新支持到 11.4,也是无敌。
怎么会买呢?
这就要说,看到这个视频了。
大佬给出了 K80 跑 ollama 的解决方案,12G 显存毕竟是
12G,能跑总比没有强。
看着淘宝上 300 左右的 K80,想着怎么都不亏,10 年前的卡,大不了收藏,遂入手。
怎么装的呢?
装 CUDA 和修改版的 ollama 参考大佬给的教程 教程:为老显卡编译 Ollama 框架并调用 CUDA 加速
下面给出我的步骤
显卡安装
DELL 这个显卡还算好装,不过一开始自己没想到怎么装(毕竟台式机也没 DIY 过),遇到了挡板顶住的问题,我一开始是把 Riser 卡拆下来,把显卡先插上 Riser 再一起装,后来发现并不是这样装的。。
实际参考了这个视频
我一开始甚至都不知道后面这个挡板是可以拆的 🤣

这个是 Riser2,因为我只插一张卡,就用最右边那个比较好装的了

装好,插好电源线,是这个样子的

虚拟机配置与驱动安装
插电,开机。可以看到 PCI 设备里有两张卡,一并添加(分两次)

PVE 中给虚拟机加两个 PCI 原始设备

然后进入虚拟机,打开设备管理器,可以看到两个
3D 视频控制器
,这个就是 K80 的两个核心

安装驱动可以直接去 NVIDIA 官网上搜,我用的是 11.4 的 CUDA,WSL 里的安装也使用这个版本,直链在这 Data Center Driver for Windows 475.14 | Windows 10 64-bit 。
然后是改 WDDM,我参考了 LTT 上的一个帖子 (Guide) Using an NVIDIA Tesla K80 for Gaming on Windows 。
不是哥们 LTT 上能找到这玩意。
重启后我们就能在任务管理器看到两个 GPU 了

给 WSL 装 CUDA
根据大佬教程中的步骤,依次执行以下命令即可
1 | wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin |
这里我在执行 dpkg 的时候遇到一个问题

随后我找到了解决方案,参考这篇 (WSL2 安装 CUDA 踩坑 Debug 全记录)[https://www.cnblogs.com/rthete/p/17551419.html]
具体是
1 | wget http://archive.ubuntu.com/ubuntu/pool/main/libu/liburcu/liburcu6_0.11.1-2_amd64.deb |
随后再重新执行 dpkg 及其以下的命令即可。
然后要配置一下环境变量
1 | export PATH=$PATH:/usr/local/cuda/bin |
我是把这个直接放到 /etc/profile
了,然后 source
一下就好。
随后我们可以使用 nvcc --version
来校验。
至此,环境已经安装完毕。
使用修改版 ollama
大佬原文中的是通过编译,我偷懒直接拿他编译好的 binary 用的(评论区置顶)。
由于这个模型下载缓慢,我把我电脑上的 .ollama 经过 NAS copy 到了 WSL 里
然后使用 ollama 可以参考大佬文中给出的代码,我是通过 screen 托管 serve 再另外开 shell run
1 | screen -S ollama |
1 | screen -S ollama |
我跑了 1.5b 和 14b,作为对比。
以下均使用 how to calcualte 1+1
作为 prompt
我的笔记本配置是 32g ddr5 4800MHz, i7-12700H, 3050 Laptop 4G
服务器虚拟机是 16G, 30C E5-2650 v3 2.30GHz
- 1.5b


- 14b


翻车
不出意外。。那包是要出意外的,在我给 14b 跑了两个 prompt 后突然死机,然后重启了,发来邮件说 fatal error:

重启后仍能看到卡。。
关机后开机盖检查了下 PCB,显存没炸。。
后来又开机,我怀疑是过热死机,试了下,果然是,拿 hwinfo 看 GPU 温度

虽然服务器设置的是风扇自动控制,但是可能并没有考虑外围 PCI 设备,K80 只有被动散热,35%的风扇直接热死了,且由于两个核心距离出风口的位置不一样,后一个,也就是 GPU1 吃到了脏空气,温度更是高。


总结
作为一张十年前的卡,300 多点,是就这么个性能,在 8b 及以下场景下不如我的笔记本,14b 略微领先,包括这台服务器在内,第一次捡垃圾,还算成功。