本次推文想要给大家分享的是:ABAQUS显式模型计算,设置多核心并行CPU无法跑满问题的解决办法。
该问题是很多CAE用户面临的共性问题,今天在粉丝交流群中看到有大神给出较为详细的解决方案,故借花献佛,呈现于此,希望能够实际帮助到正在困扰的小伙伴。
欢迎关注大神的B站账号@朦胧烟雨生
,有任何有关Abaqus安装的问题,都可以找他,相当专业!
显式模型提交计算,设置多核并行无法跑满cpu的问题,是个困扰Abaqus用户多年的痼疾。这是个比较综合的问题,与软件版本、windows系统、cpu型号架构等多种因素有关,大致存在这样一个规律:主要集中在高版本Abaqus(2018-2024),同时电脑是intel十二代及以后的处理器(这些处理器为大小核架构形式)或电脑是双路甚至多路cpu。
若不在此范围内的电脑和abaqus版本出现上述问题,亦可参考此办法尝试解决上述问题。Amd处理器到目前的型号位置,因为是全大核的架构,所以此问题较少出现。
这个问题大概率还伴随着另一个小问题,如电脑cpu明明是6核心12线程,某显式模型设置12核心提交计算,但会提示:The number of cpus (12) exceeds the number of cpus available (6)这类错误。
参考下面的步骤,这些问题都能一并解决。
basic_v6.env
和custom_v6.env
文件内默认参数信息。推荐以记事本方式打开修改并保存(当然,其他文本编辑软件亦可)。如果abaqus2020-2024版本是按照“朦胧烟雨生”的视频教程安装,那文件位置如下:以2021版本为例,其余版本2020,2022,2023,2024位置一样。mp_mode = MPI
改为mp_mode = THREADS
低版本如6.14版本的,不可更新mpi,6.14对应的mpi版本是3.0,手动更新mpi_10,会导致6.14子程序出异常。
mpi_10的安装包可在后台回复:mpi10
,即可自动获取。
更加罕见的个例问题是,在修改上述两个文件后,设置多核心并行计算,cpu还是无法跑满。本质原因还是intel12代及以后的处理器大小核心架构和windows系统对于cpu资源调度的问题(Windows会预留一部分核心,以应对可能出现的其他任务,不会全部用于abaqus计算),才会出现cpu无法跑满。不止abaqus,matlab据悉也有此类问题。
可以尝试将abaqus启动时候的那个cmd命令框前置,其实就是点开那个黑框,不让其隐藏于其他应用之下,如图。此时cpu的占用率会马上提升。
但此操作存在一个问题,无法使用电脑做其他事情,一旦操作电脑干别的事情,abaqus的cmd命令框会自动后置,cpu的占用率又会下来。其实从这里大家就能看出来,前置cmd黑框的目的,相当于“告诉”电脑,abaqus的计算是正在进行的且优先级最高的进程,应全力进行计算,所以windows会调用全部cpu资源投入计算。
一个折中的办法是,找一块显示器作为副屏,将abaqus的cmd黑框拖至副屏,且副屏只保留这一个黑框。这样既保证了cpu占用率跑满,又不影响主屏干别的事情。此办法适用于台式机,工作站等电脑,个人笔记本明显不太适用。