问题描述

我准备为 COMSOL Multiphysics® 配置一台专用计算机。请问推荐使用什么硬件?

解决方法

由于 COMSOL Multiphysics® 可用于求解多种类型的问题,同时软硬件技术更新迅速,不同硬件的价格也存在较大差异,因此并不存在一种适用于所有场景的最佳计算机配置。

内存

最重要的因素是配备足够的物理内存 (RAM),以支持求解您计划处理的最大模型,并确保内存安装方式正确。如果内存不足,无论其他硬件配置如何,求解速度都会大幅下降。

您可以通过求解一些具有相同物理场、但规模较小的模型,结合“求解器日志”中的内存使用情况和自由度来估算所需内存。可将通过这些数据拟合以下形式的曲线:A x (dof)^N,其中 A 和 N 为拟合系数,dof 为自由度数;该曲线可用于预测较大模型所需的内存。指数 N 通常介于 1 到 2 之间,主要取决于所使用的线性方程组求解器类型;而系数 A 则主要受所求解的物理场类型及其组合的影响,也可能受到模型中具体特征的影响。请注意,不同类型的模型,其自由度与内存使用率之间的关系差异可能较大,因此建议对每种模型类型分别进行上述曲线拟合。

建议选择内存容量至少与估算最大值相当的计算机配置。同时也请注意,内存容量远超实际需求并不会提升性能。此外,请确保使用所选 CPU 支持的最高内存频率。

内存的安装方式对系统性能的影响较为显著。计算机会通过多通道内存总线访问已安装的内存,如果内存未正确安装,将降低运行速度。例如,对于一台采用单个 CPU、四通道内存架构、每通道两个插槽(共 8 个 DIMM 插槽)的计算机,假设您希望安装 64 GB 内存,可通过多种方式实现,参见下面的示意图所示。

计算机示意图

对于这台计算机,从性能角度来看,最优方案是在所有八个插槽中都安装 8 GB DIMM。这是一个性能最佳的方案,但缺点也很明显,缺乏扩展性,一旦需要升级内存,必须整体更换。性能接近最优的方案是每个内存通道安装一根 16 GB DIMM。虽然该配置的性能可能略低于全插槽配置,但未来只需新增四根 16 GB DIMM,即可实现内存容量翻倍,因此整体而言是最优选择。若仅考虑扩展性,安装一根 64 GB DIMM 是最优方案,因为这样可以保留最多空闲插槽。但该配置在运行大内存模型时,性能可能下降至四分之一,仅推荐在对扩展性有极高需求的情况下使用。其他配置方案均无明显优势(详见下方示意图)。建议咨询硬件供应商,以确认最优内存安装方案。

推荐的内存布局

影响软件整体速度的其他因素

软件性能受多种因素的影响,包括 CPU 类型、CPU 基础频率、缓存大小、CPU 数量、每个 CPU 的核心数以及硬件成本等。由于 COMSOL 代码库涵盖多种不同类型的算法,这些算法的扩展性各不相同,因此,不同硬件因素对性能的影响权重也不同,且与问题类型和规模密切相关。正因如此,难以给出具体的硬件配置建议。以下仅为一些通用建议。

CPU 类型

不同的 CPU 架构具备不同的功能集,价格也存在显著差异。

高端 CPU(如英特尔® 至强® Gold 和 Platinum,或 AMD® EPYC® 处理器)支持 CPU 之间的互连,允许在单台计算机上配置多个 CPU,并实现彼此通信以访问大容量内存。这些处理器具有最高的内存带宽,能够在 RAM 内存与处理器之间快速传输大量数据,非常适合运行 COMSOL。高端 CPU 应配置为双 CPU、四 CPU 甚至八 CPU 系统,尤其适用于需要处理超大内存或计划持续并行运行多个仿真的情况。在求解单个模型时,增加 CPU 数量可提升性能,但性能提升幅度与模型大小相关。模型越大,在多 CPU 系统上的加速效果越明显。如果您计划购买四 CPU 或八 CPU 系统,请联系 COMSOL 技术支持。

中端 CPU(如英特尔® 至强® W 或 AMD® Ryzen™ Threadripper™ 处理器)不具备 CPU 互连功能,因此适用于单 CPU 计算机。这类处理器在时钟频率与核心数方面可与高端系统媲美,是性能与成本平衡的理想选择。

消费级 CPU(如英特尔® 酷睿™ 处理器)在求解较小内存模型时,同样具备非常出色甚至更优的性能表现。

时钟频率

时钟频率越高,通常意味着软件整体运行速度越快。在其他硬件配置相同的情况下,两台计算机之间的性能差异主要取决于时钟频率。

缓存

缓存直接集成在处理器中,通常其容量越大越好。在其他条件一致时,具备更大缓存的计算机将表现出更优的性能。

内核数

处理器的内核越多,可同时运行的并行线程就越多,这称为多线程处理。COMSOL 会自动利用所有可用内核,但这也会带来一定的计算开销。在处理小型模型时,并行使用过多内核甚至可能导致性能下降。有些模型的性能甚至主要依赖于单线程表现。一般来说,六核或八核系统能在性能与效率之间取得较好平衡;而在并行运行多个模型或使用 PARDISO 直接求解器时,配备更多内核的系统可能更具优势。


一般建议

参数化扫描

如果您计划在单个模型中求解多种几何变体、不同的网格、不同的材料组合或其他参数,需要使用“参数化扫描”功能。例如,如需对零件尺寸的 10 种变体、10 种不同材料和 10 种不同模型参数进行扫描,需要对相似模型进行 1000 次求解;如果在单台计算机上以单个作业运行,最坏情况下将导致求解时间延长约 1000 倍。

如果参数的数量较多,可通过并行运行作业来缩短求解时间。并行运行既可在单台计算机上进行(适用于任何许可证类型),也可在集群计算机上进行(需要使用网络浮动许可证)。

如果希望在单台计算机上并行求解,可以使用批处理扫描功能。仅当所有模型实例可同时加载至内存中时,才建议在单机上并行运行参数化扫描。例如,如果求解一个模型实例需要 3 GB 内存,则一台拥有 16 GB 内存的计算机可同时运行 4 个作业。对于内存需求较小的模型,还可按内核数同时运行多个作业,以获得更好的加速效果。使用“批处理扫描”的加速效果取决于模型和硬件条件。

如果希望在集群上并行求解“参数化扫描”,可以使用集群扫描功能,您可以同时运行的并行作业数仅受限于集群中可用的节点数。您既可以使用自有集群,也可以使用第三方集群运行。COMSOL 提供了技术合作伙伴列表,支持根据需要调用集群计算资源。每个集群节点只需满足单个模型的运行要求。关于集群硬件配置的详细建议,请参见知识库条目 1116

另请参见知识库条目 1250:从命令行运行参数化扫描、批处理扫描和集群扫描

在执行大规模扫描之前,请先考虑是否可以通过使用优化模块来减少计算需求。

操作系统

在 COMSOL Multiphysics 5.4 之前的版本中,Linux 和 macOS 操作系统在某些多核处理器上的运行性能优于 Windows 系统。

硬盘驱动器

与硬盘驱动器相比,固态硬盘能够显著提升整体系统性能。驱动器的速度越快越好,但如果系统在求解模型时使用驱动器作为交换空间(虚拟内存),则升级内存比更换更快的驱动器更能提高效率。

显卡

推荐使用基于最新 AMD 或 NVIDIA 的独立显卡。您可以在系统要求页面查看经过测试的显卡列表。显卡内存越大,模型可视化时所能呈现的细节复杂度就越高。但请注意,求解模型需要大容量内存并不意味着显示该模型同样需要高显存显卡,反之亦然。

GPU

有关使用 GPU 进行仿真的更多信息,请参见 Setting Up GPU-Accelerated Computing Within COMSOL Multiphysics

另请参见

选择计算集群硬件,解决方案 1116
COMSOL 和多线程处理,解决方案 1096
COMSOL 原生支持 macOS Apple Silicon 1307
计算机性能调优 1324
博客文章:使用 COMSOL® 能求解多大的模型?