大家好!
我们经常被问到的一个问题是 SolidWorks流动模拟 使用多核处理进行分析?”。答案是“是”,但我想花点时间进一步深入探讨这个话题,并提供更多细节。今天,我将分享来自在SolidWorks知识库中找到的有用文档的信息,你们所有人都可以通过您的SolidWorks客户门户帐户访问该文档。本文的解决方案ID为S-034487,标题为“多个核心的使用以及对网格化和解决方案时间的影响”。如果您使用提供的解决方案ID进行搜索,您将找到它。
快速说明: SolidWorks流模拟在2009年增加了多核支持。此支持最初仅用于分析的解算器部分。2014年,为分析的网格部分增加了多核支持。超线程仅支持分析的解算器部分。现在我知道你们中的一些人在说“超线程与多核或多核有什么区别?”。我很高兴你问了!多核(或多核)表示CPU上的实际物理核(每个核在CPU上有单独的物理空间)。超线程是一种欺骗操作系统,让操作系统认为每个物理核实际上是两个核的方法。这些被视为“逻辑核心”,它们在物理核心上共享相同的资源。顺便说一下,超线程只是英特尔的一个营销名称。AMD(高级微型设备)也有类似的技术。AMD被称为同步多线程(SMT)。
下面是可以利用超线程和多核处理的领域的可视化细分。
现在,让我们详细了解软件如何利用这些技术。
芯数对啮合时间的影响
下图显示了网格化过程中哪些部分使用多核(并行计算) ,哪些部分不使用(单核、单线程)。
现在让我们看一张图表,它显示了核心数量如何影响总网格时间(见下图)。单个核心将提供表示为100%的网格时间,然后所有其他数据点将是该时间的百分比。另外,请注意,图表有两条不同的线用于两个数据集。数据集 蓝色显示的初始啮合时间超过2000秒。橙色中显示的数据集的初始网格时间不到500秒。Y轴单位是时间的百分比,X轴表示内核的数量。显示的值是近似值。
芯数对求解时间的影响
现在让我们来看看多核处理如何应用于解决方案时间。虽然我们确实看到了增加核心的改善,但我们最终看到了回报的减少。最终的结果表明,一旦我们超过了8个核心,求解时间几乎没有什么改善。人们应该明白,随着核心数量的增加,我们也会增加管理所需的计算负载 并行计算,因此 收益的减少。还应该注意到,SolidWorks流模拟是一个迭代求解器(不是显式的)。这确实意味着每次迭代都需要求解,然后才能求解下一次迭代。下图显示了相对于核心计数的预期解决方案时间百分比类型。
现在,这并不意味着拥有12个内核或更多CPU不能提供好处。您可以拥有一个12核CPU ,然后使用处理器关联性为SolidWorks流模拟分配8个核心,并为其他应用程序分配其他4个核心。
提示:同一CPU上的核心之间的通信比两个不同CPU上的核心之间的通信快,例如,一个8核的CPU将比两个四核CPU快。
说明:
- 上述数据是使用SW 2017使用各种模型获得的。测试包括固体中的气体+液体+传热、非牛顿流体和旋转区域。
- 对于所有模型、机器和分析,上述曲线将不完全相同。某些类型的研究(自由曲面、滑动网格)可能会看到不同的回报。这是一个典型的趋势,但会有 分散在确切的性能结果上。您不应该期望在自己的测试中看到完全相同的曲线。
- 您确实可以选择要用于模拟的内核数量。打开 运行 对话框,然后从 使用CPU 列表。请注意,可用核心的数量取决于您的操作系统,可能与计算机上的处理器或物理核心的数量不同。
超线程
我在本文中介绍的信息上一次审查是在2017年,在这段时间内,我们看到了硬件和软件的许多变化和增强。话虽如此,我也看到了不同的测试结果,当涉及到打开或关闭超线程。基于好坏参半的结果,我对以某种方式提出具体建议没有信心。它似乎比其他硬件集更好地适用于某些硬件集。它很可能是硬件和软件的结合,使一个选项比另一个更好。一旦我们有了更多最新数据,我们将重新审视和更新这个领域。
同时解决多个项目
SolidWorks流模拟允许最多同时解决2个项目。如果设置正确,这可以节省时间,但如果不正确,这可能会导致减速。使用的处理器核心总数不应超过CPU上的物理核心数。请记住,超线程使它看起来好像您的实际物理核心数量是实际物理核心数量的两倍。因此,如果您想最大限度地提高此方法的性能,您将将几个CPU分配给SolidWorks ,然后将其余的分配给其他应用程序。如果要保证正确分配物理处理器,则需要关闭超线程。这将通过BIOS完成。
分配CPU (处理器)的方法称为处理器亲和性。打开任务管理器并转至“详细信息”选项卡。然后向下滚动“名称”列,直到找到SLDWORKS.exe。突出显示“SLDWORKS.exe”和人民币(鼠标右键单击)。然后从弹出菜单中选择选项“设置亲和性”。请参见下图。
将出现一个名为“处理器关联性”的新弹出菜单。现在,您可以选择分配给应用程序的处理器。带有复选标记的框是分配的CPU。在本例中,我为SolidWorks设置CPU 0 – CPU 5。然后点击“确定”。见下图。
现在,要为其他应用程序分配其他CPU ,您将执行相同的过程,只是您将从列表中取消选择SLDWORKS.exe。确保使用其他CPU ,在这种情况下,它将是CPU 6 – CPU 11。
最后一点要注意。每个物理CPU具有 与所有CPU内核共享的内部缓存。这是L3缓存。当进程在同一物理CPU上运行时,此缓存最有效。如果您的计算机有多个物理CPU (而不是核心) ,并且该进程在这些物理CPU上共享,则它将无法高效运行。下图显示了CPU的基本体系结构。
我希望您对使用多核CPU处理器与SolidWorks流模拟有更好的了解。由于硬件和软件技术总是在变化中,我们将尽最大努力保持本博客的更新,以了解未来发生的任何变化。
青岛友创软件,助力工业企业数字化升级
达索官方认证SolidWorks代理
CAD/CAE/CAM、PDM/PLM、MES/MOM
参数化、系列化、模块化、标准化服务
设计、仿真、渲染外包服务
青岛友创软件科技有限公司(山东省装备制造业协会技术开发服务中心)
官方网站:www.yotron.net
服务热线:0532-58780826、13969671232(微信同号)
咨询邮箱:support@yotron.net
办公地址:山东省青岛市市北区龙城路31号卓越世纪中心4号楼1201-1221