一万五搞定双路RTX3090深度学习工作站
- 前言
从我的双3090深度学习工作站Nvlink真正工作起的那一刻算起,历经两个月的装机项目最终画上了句号。其间经历了各种各样的波折,我就想记录下来,或者对别人有帮助。
2023年4月,随着Chat-GPT的持续升温,国内各行各业的精英目光如炬,聚焦在AI一点上。彼时,我完全是一个外行,那么一丁点的知识都是从新闻稿里读出来的。加之使用Chat-GPT还要科学上网,就放弃了。4月下旬的一天,一位总部的同事忽然和我提到了ChtGLM-6B,重点强调这个模型的好处,一是开源,二是可以本地部署。奥耶,忽然有点茅塞顿开的感觉。摸索着一周的时间在我的RTX3070主机上把模型部署成功,然而…它只跑了五分钟,就“out of memory”了。
装机计划由此展开。
- 方案
上网查了各种资料之后,我得出一个“双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元
- 选配过程
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的启用方法,觉得没问题了,就找了一家最便宜的,在端午节后拿下了。
- 操作系统及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”,不明就里,上网查了一下,有一个人与我一样的情况,回复说是正常。
- 缺憾
总体来说,这个主机方案接近完美,为了省钱,我没选择水冷,采用了经济实惠的风冷方案。
装机之后,我先装了一个windows系统测试。可能是这块主板有些古老(2017年生产),试了几次我都没法成功安装win11,只能安装win10。用cup-z、gpu-z、鲁大师、3dmark都进行了测试。也许是华硕tuf 3090都这样,3dmark稳定度测试最高都只达到97%-98%之间,算是勉强通过了测试。
另有一个小小的缺憾,就是这台工作站的主机上面缺少了档板,不知道是不是长期运行主机会进入大量灰尘。而且x299 gaming7的档板很难配,偶尔有卖的,一块档板竟要价近300元。实在没必要。
- 参考资料
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
今天的文章双路RTX3090深度学习工作站方案[通俗易懂]分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/87308.html