计算化学公社

标题: 简单对COMSOL6.4的GPU加速做一个测试 [打印本页]

作者
Author:
Diotima    时间: 2026-2-4 15:52
标题: 简单对COMSOL6.4的GPU加速做一个测试
本帖最后由 Diotima 于 2026-2-5 16:33 编辑

二编:我朋友圈一位来自IC的博士分享,他的COMSOL在GPU上可以跑满。差异原因仍在探索中。根据我们的配置,初步猜测是因为在这种计算过程中,CPU与GPU是串行计算关系,CPU组装完总刚矩阵再由GPU来求解稀疏矩阵。因此我的CPU很不幸构成了计算瓶颈。这也说明在这一个新的版本中,我们不再能像过去一样,CPU和内存尽量拉高即可,而是要充分考虑模型复杂度,CPU与GPU计算效率配比以及显存与内存关系才行。同时这也说明,消费级显卡的潜力还是有很大挖掘空间的。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
最近COMSOL布了新的6.4版本,本人很有幸拿到了试用码,于是决定在我的个人电脑上跑几个算例看看资源使用情况。由于水装机板块的时候经常看见有人配置的机器需要运行COMSOL,这一新版本中对计算的改进很多,所以打算发一个个人的简单测试来给大家参考一下。

首先,我们回顾一下新版本的主要改进:
这里面,多GPU并行的效果来自于官方。发布的数据是:

使用频率相关阻抗数据的办公室声学模型-空间高斯脉冲(500HZ)求解20个周期,5000万自由度:
1*GPU(NVIDIA RTX6000 Ada)= 29分钟(92.3ms/ts)
2*GPU(NVIDIA RTX6000 Ada)= 18分钟 (53.0ms/ts)
纯粹CPU (Xeon w5-2445x, 12内核)= 14小时

基于这一组数据,我们已经可以断定,目前的COMSOL不再是只占用CPU资源的软件,一块有力的GPU对计算起到的帮助也极为重要。
那么什么情况下需要考虑GPU资源呢?
我们回到有限元的求解器计算过程中去。

在划分好网格后,求解器要先求出每个单元的刚度矩阵,然后通过总刚集成的方式生成总刚矩阵。而目前COMSOL用的cuDSS只能加速总刚矩阵的计算。因此,对于很多隐式瞬态的模型来说,GPU的加成可能比较有限,显式模型求解效率提升会更高。

同时COMSOL自己工程师也指出在现有的计算过程中,显存需要准备充足。在@Entropy.S.I 的测试中,COMSOL对于内存资源的占用可以用可怕来形容。因为它的大量中间数据和矩阵是不写入硬盘,而是在内存中计算,最后直接释放掉的。GPU计算也是同理,虽然COMSOL推出了混合模式,可以在需要的时候利用内存来救急,但是显存的效率显然会比混合模式下使用内存要高。
最后,说回来我的测试结果。在没有其他优化的情况下,我在自己的3070Ti(Laptop)上面用Windows版COSMOL 6.4 进行了电池碰撞的显式动力学仿真.采用cuDSS求解器,其他设置如图
(, 下载次数 Times of downloads: 0)
在全程计算过程中,平均GPU使用率不足13%。显存占用大概1GB左右,距离我设置的最大占用有一定距离。由于我用的是消费级显卡,双精度单元有限。所以我的求解精度选择了单精度。
(, 下载次数 Times of downloads: 0) (, 下载次数 Times of downloads: 0)
另一个算例中,平均使用率也是不足13%。专用内存也就是用了1GB左右。
(, 下载次数 Times of downloads: 0)
综合来看,虽然现在COMSOL支持了cuDSS,但是对于系统GPU资源的使用无疑还是保守的。单个任务并不足以沾满GPU的运行效率。这可能和这两个模型的划分也有关系。但是无疑,现有阶段,非特殊情况,用户不必着急升级GPU加速求解。COMSOL的占用仍然是以内存为优先。








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