问题描述
我打算购买一台专用于运行 COMSOL Multiphysics® 的计算机,请求推荐硬件配置。
解决方法
COMSOL Multiphysics® 求解的问题类型相当广泛,加之当今软件和硬件开发速度之快,并且不同价位的硬件有着很大的差异,因此,我们不能一概而论地说哪一款计算机对于所有使用案例来说都是最佳选择。
内存
对于计算机而言,最重要一个因素是,要有足够的物理内存 (RAM) 来求解您要处理的最大模型,并且您已正确安装内存。如果没有足够的内存,那么无论您选择什么样的硬件,计算机的运行速度都会明显下降。
您可以通过求解一些与待求解的最大模型相似但更小的模型来预测内存需求,测试模型包含的物理场与您要在最大模型中求解的相同。监视所用的内存以及自由度,这些信息报告在“求解器日志”中。将曲线拟合为 A x (dof)^N 形式的表达式,其中 A 和 N 是拟合系数,dof 是自由度数,您可以据此预测较大模型的内存要求。指数 N 通常介于 1 到 2 之间,主要取决于所使用的线性方程组求解器的类型。因子 A 在很大程度上取决于待求解物理场的类型和各种物理场的组合,但也可能取决于模型中的具体特征。请注意,对于不同的模型类型,内存使用率与自由度之间的关系存在巨大的差异,因此,您可能需要为待求解的每一种模型重复此过程。
您将需要一台至少具有您估计的最大 RAM 容量的计算机。还请注意,如果内存量远远超过实际需要的量,也并没有什么明显优势。请确保使用所选 CPU 支持的尽可能快的内存速度。
性能在很大程度上还取决于内存的安装方式。计算机通过多通道内存总线访问安装的内存,如果内存未正确填充,则内存速度会降低。例如,假设有一台具有四个内存通道的单 CPU 计算机,每个通道有两个插槽,总共有 8 个开放的 DIMM 插槽,如下图所示。假设您希望安装 64 GB 的 RAM,有多种方法可以做到这一点。
对于这台计算机,在计算机性能方面的最佳做法是使用一个 8 GB DIMM 填充所有八个插槽。然而,这样做的缺点是无法进行扩展,如果您需要升级 RAM,则需要购买所有新的内存。近乎最佳的方法是为每个内存通道放置一个 16 GB DIMM。性能可能略低于最佳配置,但通过再购买四个 16 GB DIMM,安装的内存可以增加一倍,因此这种配置总体上是最好的。纯粹就可扩展性而言,最佳选择是安装单个 64 GB DIMM,因为这样可以留下最多的空插槽。但是,这种情况下的性能可能会慢四倍左右,对于大内存模型来说尤其如此。只有在首要考虑可扩展性的情况下,才建议使用这种配置。其他配置没有任何优势。下面的示意图对此进行了汇总。另外,与您的硬件供应商核实最佳内存安装问题也是不错的做法。
影响软件整体速度的其他因素
性能、CPU 类型、CPU 基频、缓存、CPU 数量、每个 CPU 的内核数和硬件成本之间存在着复杂的关系。COMSOL 代码库由多种不同的算法组成,这些算法具有不同的扩展属性。因此,某些硬件因素对性能的影响大于其他因素,并且这些因素的相对优点与问题的类型和大小都相关。所以,我们很难提出具体的硬件建议。下面给出一些一般建议。
CPU 类型
不同的 CPU 架构提供不同的特性集,其价格也存在显著差异。
高端 CPU(如英特尔® 至强® Gold 和 Platinum 或者 AMD® EPYC®)处理器采用 CPU 到 CPU 互连技术,使每台计算机支持多个 CPU,并允许 CPU 之间相互通信,以访问大量内存。这些处理器具有最大内存带宽,能够在内存与处理器之间来回快速传输大量数据,这是它们在运行 COMSOL 时的主要优势。高端 CPU 应在双 CPU、甚至四 CPU 或八 CPU 配置中使用。如果您需要寻址大量内存,或者计划连续并行运行多个仿真,则此类 CPU 是最理想的选择。在求解单个模型时,性能将随着 CPU 数量的增加而提高,但相对性能的提高取决于模型的大小。在多 CPU 系统上求解较大模型时,速度提升更快。如果您计划购买四 CPU 或八 CPU 系统,请联系 COMSOL 技术支持。
中端 CPU(如英特尔® 至强® W 或 AMD® Ryzen™ Threadripper™)处理器没有 CPU 到 CPU 互连结构,因此对于单 CPU 计算机来说是不错的选择。它们具有与高端系统相当的时钟速度和内核数,是一种具有吸引力的全方位选择。
英特尔® 酷睿™ 处理器等消费级 CPU 可以具有非常好甚至更加出色的性能,在求解较小内存的模型时尤其如此。
时钟频率
较高的时钟频率通常会从软件的各个方面提升性能速度。如果两台计算机的所有其他硬件规格都相同,则它们之间的相对性能主要取决于时钟频率。
高速缓存
高速缓存直接内置在处理器中,缓存越大越好。在所有其他因素都相同的情况下,缓存较大的机器将表现出更好的性能。
内核数
处理器中的内核越多,一次可以执行的并行线程就越多,这就是多线程处理。COMSOL 将自动利用所有可用的内核,但这需要计算成本。并行使用过多内核尽管通常只用于求解相对较小的模型,但这样做可能会导致速度降低,有些模型甚至被它们的单线程性能控制。一般来说,六核或八核系统是比较好的全方位选择,但内核越多可能越好,这在并行运行多个模型或使用 PARDISO 直接求解器时尤其如此。
一般建议
参数化扫描
如果您打算在各个不同的模型中求解许多几何变体、不同的网格、不同的材料集或其他参数,就需要使用“参数化扫描”功能。举例来说,如果您要扫描 10 种变化的零件尺寸,并扫描 10 种不同的材料和 10 个不同的模型参数,则需要求解 1000 次相似的模型,在单台计算机上将每次扫描作为单个作业运行时,求解时间(最坏的情况下)正好是原来的 1000 倍。
无论是在使用任何许可证类型的单台计算机上,还是在使用网络浮动许可证的集群计算机上,通过并行运行作业都可以减少扫描大量参数的求解时间。
为了在单台计算机上并行求解,您可以使用批处理扫描功能。仅当内存支持同时求解所有模型时,我们才建议您在单台计算机上并行运行参数化扫描。例如,如果求解一个模型实例需要 3GB 内存,那么就可以在 16GB 内存的计算机上同时运行四个作业。对于内存要求较少的模型,在同时运行与内核数一样多的作业时,性能有明显的提升。使用“批处理扫描”时的相对加速比取决于模型和硬件。
为了在集群上并行求解“参数化扫描”,您可以使用集群扫描功能。一次可以运行的并行作业数没有限制(最多可以达到集群上可用节点的数量)。您可以在自己的集群上运行,也可以使用第三方集群运行。COMSOL 维护着一个技术合作伙伴列表,这些合作伙伴为集群计算提供随需应变的计算资源。每个集群节点只需满足针对运行单个模型所设定的要求即可。有关集群硬件的进一步指导信息,请参见知识库 1116。
另请参见知识库 1250:从命令行运行参数化扫描、批处理扫描和集群扫描。
您应该始终考虑是否可以使用优化模块来避免大规模扫描。
操作系统
在 COMSOL Multiphysics 5.4 之前的版本中,Linux 和 macOS 操作系统在某些多核处理器上的性能表现可能超过 Windows。
硬盘驱动器
与硬盘驱动器相比,固态硬盘可以提供更好的整体系统性能。驱动器的速度总是越快越好,但如果系统在您求解的模型上将驱动器用于交换空间(虚拟内存),则最好升级内存,而不是投资到提升驱动器的速度上。
显卡
我们推荐使用基于最新 AMD 或 NVIDIA 的专用显卡。您可以在系统要求页面找到通过测试的显卡列表。显卡的内存越大,您能看到的模型细节越复杂。请注意,不能仅仅因为求解模型需要大量的 RAM 内存就断定需要较大视频卡才能显示模型,反之亦然。
GPU
本软件目前不支持图形处理单元上的通用计算。
另请参见
COMSOL 尽一切合理的努力验证您在此页面上查看的信息。本页面提供的资源和文档仅供参考,COMSOL 对其有效性不作任何明示或暗示的声明。COMSOL 对所披露数据的准确性不承担任何法律责任。本文档中引用的任何商标均为其各自所有者的财产。有关完整的商标详细信息,请参阅产品手册。