计算化学公社

标题: 玩乐中完成的3套小型HPC,以及一些HPC/AI Infra相关的碎碎念 [打印本页]

作者
Author:
Entropy.S.I    时间: 2025-3-18 09:16
标题: 玩乐中完成的3套小型HPC,以及一些HPC/AI Infra相关的碎碎念
本帖最后由 Entropy.S.I 于 2025-3-22 07:21 编辑

近两年以纯玩乐心态捣鼓了不少大大小小的HPC项目,亲自设计和搭建的HPC也有许多套,在此挑选近半年内由我全栈完成的3套小型HPC来写点杂谈,顺便对HPC/AI Infra行业现状发表一些意识流评论。

P1-4

我自己所在实验室的GPU集群,共7个计算节点(单节点配置参考去年夏天的贴子:杂谈:手搓高性价比GPU集群),平均造价~¥3.8万。这是V100 UltraPOD 1296超级计算机的原型机,在科学计算和AI-for-Science应用中相较于DGX SuperPOD H100实现了20倍性价比提升。

48-GPU并行规模下,完成10万原子体系的1μs量子力学精度分子动力学模拟,只需3个星期;56-GPU并行规模下,完成1100万原子体系的1ns量子力学精度分子动力学模拟,只需28小时。我们的PI曾在朋友圈对此做过简单宣传。

BTW,前面提到的1296-GPU的完整紧耦合系统已于去年底完成所有设计和大部分验证,架构十分有趣且大胆,可惜实验室内部暂无落地的经济实力——虽说性价比提升了20倍,但那只是相较于造价¥1.2亿的DGX SuperPOD方案而言。不过,即使如此,也非常感激对我彻底“放养”的PI以及其余情同手足的伙伴们给我折腾的空间。

图片均已发布在实验室网站上(https://liutheory.westlake.edu.cn/resource.html)。请忽略P1中画出的其他分区。把35条手指粗的IB铜缆整理成这样基本已经尽力,光缆能不用就不用——光模块昂贵、延迟高、故障率高、发热大,除了传输距离远、抗干扰以外一无是处。

▲ P1 架构图(请忽略其他分区)
▲ Full-View
▲ P3 Compute Nodes Group - Front (Air Inlet)
▲ P4 Head-Node Inside
P5

为某不便透露名称的算力租赁商搭建的GPU集群,包含160块AMD Instinct MI100,Dual-Rail架构组网。无法公布实体照片,因为甲方不允许(非常奇怪的甲方)。配件选型不是我做的,因此并非最佳配置,其中CPU严重拖后腿,性能全靠组网优化。此外,存储最终也未实现架构图中的配置,不知我放手后他们是怎么搞的。我只知道他们绕一大圈找了我的朋友来接手维护,这位朋友也在本论坛中。

整机组并行,对1亿原子体系进行量子力学精度的分子动力学模拟,速度为0.3 ns/day,接近2020年戈登贝尔奖的项目(后者使用了整台Summit超级计算机的27648块V100)。

▲ P5 架构图
P6

为某三甲医院生物信息学团队搭建的生信集群,计算节点是8台双路9654 + 1.5T RAM,每颗CPU配1块CX4 EDR IB网卡,一体式“半液冷”(机箱内置冷排)。关键在于存储系统。主存储采用OpenZFS (后端MDS和OSS) + BeeGFS (前端分布式并行文件系统),启用透明压缩,使不到1PB的存储空间可以当作~3PB来使用(在用户实际应用场景下压缩率为~3倍),实测峰值写入>10GB/s,峰值读取>20GB/s。利用计算节点的7.68TB PCIe Gen5 SSD实现burst-buffer,可以组成61TB的缓冲存储池,实测峰值写入>55GB/s,峰值读取>80GB/s。

吐槽:此前我从未玩过生信,此次才切身体会到口耳相传的“生信低效代码”是怎么回事…简单而言就是毫无并行化,我这种计算机门外汉用本科时通过传统搜索引擎学到的技术稍加优化就能实现十几倍速度提升…

虽然不太会玩生信,但可以跑点老本行。顺手测试了CP2K 2025.1,6节点并行(1152核),MPI 576 * OMP 2,Slurm调度,自动绑核:H2O-4096体系MD模拟速度9~11 min/step,首个SCF步518s,后续SCF步77s,各节点IB网卡峰值流量为单向2*25 Gbps;LiH-HFX体系(杂化泛函)首个SCF步268s,后续SCF步27s,各节点IB网卡峰值流量为单向2*3 Gbps。

▲ P6 架构图&实物照片
P7

年初DeepSeek爆火后在组会上做的小讨论,包含我当前对于HPC/AI Infra建设的主要观点。

▲ P7 组会PPT

补充两条锐评。








作者
Author:
abin    时间: 2025-3-18 10:13
应“奇怪的甲方”邀请,
鄙人参与了P5后续的事宜.

MI-100, 这个GPU本身或者转接卡故障率挺高的, 经常出现掉卡情况.

捣鼓完毕后, rocHPL测试数据, 比之前高一些.

至于这套设备, 要建设成什么样子, 满足什么应用场景, 甲方不讲, 鄙人也不过问.
甲方说怎么搞, 鄙人就怎么搞, 不发表建议.
作者
Author:
Entropy.S.I    时间: 2025-3-22 05:28
本帖最后由 Entropy.S.I 于 2025-3-22 05:41 编辑
abin 发表于 2025-3-18 10:13
应“奇怪的甲方”邀请,
鄙人参与了P5后续的事宜.

“掉卡”的原因非常多,并非所有原因都是GPU本身或和GPU直接连接的“转接卡”,外围因素的影响不可忽视(如热环境、电磁环境、主板电气性能、CPU、DIMM、驱动程序,甚至硬件装配人员的技术水平)。

至于rocHPL测试结果,既然甲方要求篡改源码进行造假,那么任何测试结果都不意外。在1.2倍“造假因子”下,我在离开前测得的结果如下:16节点825TFLOPS,20节点988TFLOPS。此外,最后一段已经提到,服务器芯片体质差异很大,具体到MI100,完全相同的计算负载下频率差异可达10%,因此,如果更换了集群中的GPU,整机组并行性能有明显提升也是不意外的(我离开前集群中仍有多块频率较低的GPU,当时没有可用于更换的备件)。

作者
Author:
MIOSAMA    时间: 2025-3-28 14:58
最近也在考虑手搓GPU集群。
但是有个问题是现在很多计算GPU上跑的时候只需要CPU的一个核心。
这种情况下一般剩下的核心是直接跑其他运算吗,或者说如果主要用于GPU运算的情况下买个非常普通的CPU就够了。
同时slurm里的资源分配可以智能分配这种CPU和GPU一起跑的情况吗?
作者
Author:
Entropy.S.I    时间: 2025-3-28 16:05
MIOSAMA 发表于 2025-3-28 14:58
最近也在考虑手搓GPU集群。
但是有个问题是现在很多计算GPU上跑的时候只需要CPU的一个核心。
这种情况下 ...

我配置的GPU集群都是以GPU为中心调度的,用户不需要主动申请CPU和Host Memory,只需要申请GPU,而CPU和Host Memory根据GPU数量按比例分配。自动实现GPU NUMA-Affinity,为GPU分配最近NUMA域的CPU,可确保资源分配与节点内架构完全对齐,例如对于AMD EPYC/Ryzen,分配可精确到CCX。
作者
Author:
abin    时间: 2025-3-28 19:22
Entropy.S.I 发表于 2025-3-22 05:28
“掉卡”的原因非常多,并非所有原因都是GPU本身或和GPU直接连接的“转接卡”,外围因素的影响不可忽视( ...

我用的原版的rocHPL,直接克隆的原版代码……

本来想偷懒的,无奈没找到那个1.2的系数在哪里搞得……

作者
Author:
abin    时间: 2025-3-28 19:25
MIOSAMA 发表于 2025-3-28 14:58
最近也在考虑手搓GPU集群。
但是有个问题是现在很多计算GPU上跑的时候只需要CPU的一个核心。
这种情况下 ...

GPU类的应用多数内存带宽能跑满……
而且优先级还挺高的……

如果其他CPU类型任务,也是内存密集型的,
可能会比较糟糕……

如果能接受一定的性能损失,也可以一起跑……

不过依旧建议,CPU应用和GPU类的应用分开……
别给运维添麻烦……
作者
Author:
Entropy.S.I    时间: 2025-3-29 00:36
abin 发表于 2025-3-28 19:25
GPU类的应用多数内存带宽能跑满……
而且优先级还挺高的……

GPU加速功能完善的科学计算应用,对于Host Memory Bandwidth的需求都很低。
作者
Author:
李毅成    时间: 2025-7-4 15:57
请问大佬为什么一个节点上面装了五条IB线缆哇,有点没看懂是什么结构,另外什么情况下GPU加速需要高主频的CPU呢,V100这种EPYC系列的就可以带嘛




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3