nCode DesignLife批处理分析中的多线程计算控制方法介绍
当运行nCode DesignLife进行分析时,如果没有额外的线程许可证,单个分析流程运行最多支持4线程进行分析(nCode 2023版本开始默认支持4线程,之前版本为默认2线程)。倘若有足够数量的多线程许可证,软件默认会尝试使用与电脑上处理器数量相等的线程数来运行,即调用最大计算资源。此功能虽然能提高计算效率,但也极容易造成其他用户的许可证被占用。另外,在高性能计算机中,通常处理器多达几十甚至几百核,也需要通过专门的负荷分配命令行来控制算力。
nCode软件中有多种方法可以控制线程数量的使用,以便分析时分配固定数量的线程进行高效计算。多用户许可需要使用此功能,比如为特定的用户保留有足够的许可证,或者限制高性能计算机处理器的使用数量。
控制线程数量常用方法包括:
分析流程中设置线程数量
在preferences设置中限定最大线程数
通过批处理命令行限定当前最大线程数
下面将使用示例展示设置8个线程进行分析的几种方法。
分析流程中设置线程数量
如图1所示,已创建疲劳分析流程。在流程中的ENAnalysis分析器中点击右键,选择Advanced Edit。NumAnalysisThreads对应位置默认为空白状态(见图2),代表运算将调用最大的计算资源(最多的CPU数量或者许可线程数)。设置NumAnalysisThreads=8,该流程运行时限制使用最大的线程数为8。
图1 nCode DesignLife分析流程
图2 流程文件中设置线程数
2. 在preferences设置中限定最大线程数
在nCode软件中的preferences进行交互方式设置。Preferences中的设置将做为nCode默认设置,所有分析将按照此设置限定最大线程数。此参数的选项设置目录如下:
Libraries>DTLib>DTManager>MaxNumAnalysisThreads
图3 Preferences设置中限定最大线程数
图形界面中如果使用Global进行设置,将影响nCode特定版本的所有用户;或者使用Home进行设置,将对所有版本中的当前用户进行设置。
如果无法实现图形界面设置,例如某些Linux系统中,可以使用prefbop应用进行设置。典型的设置按照Global和Home,分别用不同的命令设置。
应用到Global(需要管理员权限),命令行如下:
prefbop2022 -s
/Libraries/DTLib/DTManager/MaxNumAnalysisThreads 8
应用到单个用户的nCode home,命令行如下:
prefbop2022 -s
/Home/Libraries/DTLib/DTManager/MaxNumAnalysisThreads 8
3. 通过批处理命令行限定当前最大线程数
在nCode批处理计算的命令行中,优化控制单个批处理计算的计算线程上限。这种方法的优点是单个作业临时控制,不会影响到nCode应用程序的其他用户。限定最大线程的命令像一个开关,添加到批处理提交计算中。按照批处理计算的两种方法选择不同命令行。
如果使用Flowproc批处理计算,对应命令行如下:
/pref=/Libraries/DTLib/DTManager/MaxNumAnalysisThreads,8
如果使用DTProc批处理计算,对应命令行如下:
-p /Libraries/DTLib/DTManager/MaxNumAnalysisThreads,8 |
关于这些临时preference的更多信息,可在软件帮助文档的批处理分析用户指南中查询。
参考文献
nCode User Guides, HBK-nCode , 2024
-
汽车测试网V课堂
-
微信公众号
-
汽车测试网手机站
最新资讯
-
燃料电池汽车防水淹控制策略-倾斜路面
2024-11-02 11:32
-
Applus Idiada推出先进的电池安全实验室
2024-11-02 09:48
-
超120亿!一汽车零部件项目落地苏州!
2024-11-02 09:46
-
测试基础|汽车软件测试术语解释
2024-11-02 09:03
-
区域化配电的技术及趋势
2024-11-02 08:16