nCode DesignLife批处理分析中的多线程计算控制方法介绍

2024-06-21 15:48:40·  来源:上海山外山机电工程科技有限公司  
 

当运行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


分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026917号-25