双路RTX3090深度学习工作站方案

一万五搞定双路RTX3090深度学习工作站

  1. 前言

从我的双3090深度学习工作站Nvlink真正工作起的那一刻算起,历经两个月的装机项目最终画上了句号。其间经历了各种各样的波折,我就想记录下来,或者对别人有帮助。

2023年4月,随着Chat-GPT的持续升温,国内各行各业的精英目光如炬,聚焦在AI一点上。彼时,我完全是一个外行,那么一丁点的知识都是从新闻稿里读出来的。加之使用Chat-GPT还要科学上网,就放弃了。4月下旬的一天,一位总部的同事忽然和我提到了ChtGLM-6B,重点强调这个模型的好处,一是开源,二是可以本地部署。奥耶,忽然有点茅塞顿开的感觉。摸索着一周的时间在我的RTX3070主机上把模型部署成功,然而…它只跑了五分钟,就“out of memory”了。

装机计划由此展开。

  1. 方案

上网查了各种资料之后,我得出一个“双3090主机是目前性价比最高的方案“结论。组建双路RTX3090的核心是找到合适的双路主板。网上有人推荐微星 z690 Carbon主板,我上闲鱼查了一下二手主板的报价是1700左右,这个价格我万万接受不了。

后来又寻找到一篇文章,作者的主机采用了技嘉x299 aorus master主板。这篇文章给我很大的参考价值,我后续基本是按作者这个主线思路操作。所不同的是,我的目标是采购二手配件,极限装机,把主机预算定在15000元。

怎么样能控制在一万五的价格,实现京东上报价2万8的双路3090显卡主机?

我先公布答案。最终的成品及价格如下:

配件 名称 价格
1 主板 技嘉x299 aorus gaming7 750
2 CPU intel i9-7920X 700
3 显卡1 华硕 tuf gaming rtx3090 24GB 5500
4 显卡2 华硕 tuf gaming rtx3090 oc 24GB 5450
5 固态硬盘 幻隐 PCle 3.0*4 1TB 250
6 内存 海盗船DDR4 3200MHz 16GB*4 600
7 电源 长城巨龙1250W电竞版金牌全模组电源 320
8 机箱 先马黑洞ATX 静音机箱 60
9 CPU散热 四铜管12CM x99-2011平台专用散热器 40
10 NVlink 英伟达 NVlink Bridge For Ampere 3-slot 1240

合计:14910元

  1. 选配过程

5.1期间,主要的精力就是上闲鱼查询价格,估算最终实现的方案。整个方案的关键是主板,我心里已经定了选择x299,而我有过手多块技嘉主板经验,对它的BIOS及驱动最熟悉,故主要操作还是翻寻技嘉x299板。x299主板现在是冷门,主板堆料感十足,当初价格都在3000元至5000元,所以二手价格也居高不下。有一位上海的网友挂着一块x299 gaming 7,看着挺不错,报价820元。我试着出了一个750元报价,也没放心上。没成想,节后有一天晚上,他主动找我说可以卖。我二话没说,就拍下了。后来,我反思买这块主板是有些冲动。第一是没了解到这块主板双显的槽位,下了单之后在技嘉官网反复核实才搞清是3-slot的。第二是这块主板是裸板,除了主板、盒子,连挡板都没有。

主板定了之后,就看CPU了,109**X系列的太贵。斟酌之后,选择了i9 7920X。这块U参数十二核,24线程,TDP140W,性价比最高。几番讨价之后,从一个贩子手里700元拍下。

内存没什么说的,上64G,我原想135元*4拿下。但问了几轮,感觉135元买到的条子,不如全新的。就600元买了两个套条,四条连号。看了一下是镁光颗粒,反正我也不超频,稳定就行。

1000W以上的电源,买好的要千元以上,比较耐用的就是矿龙。没得说,在网上找了一个还在质保期的矿龙1250W,320元箱说全,很新。

机箱、CPU散热买得随意,先马黑洞板材厚实,我用过,非常适合办公用。一个北京的哥儿们给了我一个自提60元的低价,虽然路有点远,但还说什么。下班后,自提搞定。CPU散热买了一个12CM的大风扇。装机时,才发现因为风扇过大,非常不好装,好在这难度对老手也算不上什么。

最后说说显卡,今年二手3090显卡受益于深度学习,涨价了。闲鱼上5月份基本报价在5500至6000元。偶尔会有一些低价,我也不敢入手,怕买到矿卡。我坚持入手的两个原则,一是买无拆无修的,二是买个人自用。后来,我掌握了技嘉x299主板双显插槽是3-slot后,能买的显卡必须要在60mm之内,还要留一点点间距,找来找去只有华硕tuf了,这卡宽度是517mm,似乎是最薄的3090了。

我买到的第一块显卡,卖家报价5799,我回了一个5500元。竟然同意了。卡确实很新,但买回之后,我才发现它少了一个oc。我有些担心, 是不是第二块显卡也必须买不带oc的。又是查询各种资料,有人回复说只要核心是3090其它都行。所以又过些天,第二块卡被我刷出来后,我简单搞价,5450元自提就拿下了。

最后是找3090NVlink,英伟达标准的版本是4-slot的。我这3-slot怎么办?起初,我就想算了,没NVlink也能用。后来咨询了一个在上海Nvidia的年轻朋友,他说A6000那款3-slot就能支持3090。下单前,我研究了一个NVlink的启用方法,觉得没问题了,就找了一家最便宜的,在端午节后拿下了。

  1. 操作系统及NVlink桥接

我最熟悉的linux操作系统是Ubuntu,起初想装23.04,它的内核是6.2。最终选择了装Ubuntu22.04,考虑就是这个版本支持较好。基本上所有的支持linux软件,都有Ubuntu22.04的安装方法。我没装server版,直接上了桌面版本,显卡驱动版本530.41.03。(注:后来我为了安装cuda11.7.1及cudnn8.6,把驱动降至515.65.01,2023.7.26)

然后是让NVlink工作,需要开启驱动持久化模式:

nvidia-smi -pm 1
sudo reboot

检查方法:

nvidia-smi topo -m

	GPU0	GPU1	CPU Affinity	NUMA Affinity
GPU0	 X 	NV4	0-23		N/A
GPU1	NV4	 X 	0-23		N/A

这里有一个事项要说明,NVlink插好时,会发现咔哒一声。起初我插完后,持久化重启,用检查命令查不到nvlink工作。后来断电关机,重新插了一次NVlink,听到咔哒一声。然后再开机,一切正常了。测试一下桥接速度,不知道为何14GB,快吗?

allonx@x299:~/qmx_projects/langchain-ChatGLM$ nvidia-smi nvlink -s
GPU 0: NVIDIA GeForce RTX 3090 (UUID: GPU-9cca89b5-8627-6cff-7cb4-d8fae8dfadbe)
	 Link 0: 14.062 GB/s
	 Link 1: 14.062 GB/s
	 Link 2: 14.062 GB/s
	 Link 3: 14.062 GB/s
GPU 1: NVIDIA GeForce RTX 3090 (UUID: GPU-f3fc3749-f793-189f-b592-5af6bb39a569)
	 Link 0: 14.062 GB/s
	 Link 1: 14.062 GB/s
	 Link 2: 14.062 GB/s
	 Link 3: 14.062 GB/s

再查一下详细情况:

allonx@x299:~/qmx_projects/langchain-ChatGLM$ nvidia-smi nvlink -c
GPU 0: NVIDIA GeForce RTX 3090 (UUID: GPU-9cca89b5-8627-6cff-7cb4-d8fae8dfadbe)
	 Link 0, P2P is supported: true
	 Link 0, Access to system memory supported: true
	 Link 0, P2P atomics supported: true
	 Link 0, System memory atomics supported: true
	 Link 0, SLI is supported: true
	 Link 0, Link is supported: false
	 Link 1, P2P is supported: true
	 Link 1, Access to system memory supported: true
	 Link 1, P2P atomics supported: true
	 Link 1, System memory atomics supported: true
	 Link 1, SLI is supported: true
	 Link 1, Link is supported: false
	 Link 2, P2P is supported: true
	 Link 2, Access to system memory supported: true
	 Link 2, P2P atomics supported: true
	 Link 2, System memory atomics supported: true
	 Link 2, SLI is supported: true
	 Link 2, Link is supported: false
	 Link 3, P2P is supported: true
	 Link 3, Access to system memory supported: true
	 Link 3, P2P atomics supported: true
	 Link 3, System memory atomics supported: true
	 Link 3, SLI is supported: true
	 Link 3, Link is supported: false
GPU 1: NVIDIA GeForce RTX 3090 (UUID: GPU-f3fc3749-f793-189f-b592-5af6bb39a569)
	 Link 0, P2P is supported: true
	 Link 0, Access to system memory supported: true
	 Link 0, P2P atomics supported: true
	 Link 0, System memory atomics supported: true
	 Link 0, SLI is supported: true
	 Link 0, Link is supported: false
	 Link 1, P2P is supported: true
	 Link 1, Access to system memory supported: true
	 Link 1, P2P atomics supported: true
	 Link 1, System memory atomics supported: true
	 Link 1, SLI is supported: true
	 Link 1, Link is supported: false
	 Link 2, P2P is supported: true
	 Link 2, Access to system memory supported: true
	 Link 2, P2P atomics supported: true
	 Link 2, System memory atomics supported: true
	 Link 2, SLI is supported: true
	 Link 2, Link is supported: false
	 Link 3, P2P is supported: true
	 Link 3, Access to system memory supported: true
	 Link 3, P2P atomics supported: true
	 Link 3, System memory atomics supported: true
	 Link 3, SLI is supported: true
	 Link 3, Link is supported: false

其中有提示“Link is supported: false”,不明就里,上网查了一下,有一个人与我一样的情况,回复说是正常。

  1. 缺憾

总体来说,这个主机方案接近完美,为了省钱,我没选择水冷,采用了经济实惠的风冷方案。

装机之后,我先装了一个windows系统测试。可能是这块主板有些古老(2017年生产),试了几次我都没法成功安装win11,只能安装win10。用cup-z、gpu-z、鲁大师、3dmark都进行了测试。也许是华硕tuf 3090都这样,3dmark稳定度测试最高都只达到97%-98%之间,算是勉强通过了测试。

另有一个小小的缺憾,就是这台工作站的主机上面缺少了档板,不知道是不是长期运行主机会进入大量灰尘。而且x299 gaming7的档板很难配,偶尔有卖的,一块档板竟要价近300元。实在没必要。

  1. 参考资料

2020-2021 最强双路RTX3090 深度学习工作站

NVIDIA NVLink 2021 Update and Compatibility Chart

Two/Dual GeForce RTX 3090s and NVLink: Ubuntu support? At least Blender has support for NVLink

Two RTX A6000, nvlink : Link is supported: false

猜你喜欢

转载自blog.csdn.net/weixin_54757969/article/details/131960450