在一组机器上运行
可以使用命令行在一组网络机器上提交Design Manager项目。
但是,当使用调度程序在群集上运行项目时,群集的批处理系统始终是首选选项。另请参见:使用批处理管理系统。
注 | 在一组机器上提交Design Manager项目之前,确保这些机器共享相同的文件系统。 |
要提交Design Manager项目,必须使用以下命令显式启动资源管理器:
starlaunch --command <batch_command> --slots 0 --resources <host[:np][,host[:np]]>
其中:
starlaunch
启动资源管理器。--command <batch_command>
指定批量运行Design Manager项目的starccm+
命令。--slots 0
阻止资源管理器进程分配核心。--resources <host[:np][,host[:np]]>
可列出要用于运行Design Manager项目的主机。
如果指定 :np
,则在该机器上执行 np
个进程。主机列表中不得包含空格。进程分配给资源列表中的机器,从第一项开始分配,添加 np
个进程后进入列表中的下一个机器。如果请求的进程数超过列出的机器数,则继续分配剩余的进程(从资源列表中的第一项开始分配)。
使用多个机器时,有必要在 MPI 文件中定义这些机器并使用以下命令:
starlaunch --command <batch_command> --slots 0 --resourcefile <file>
资源文件的格式就是一个列表,包含要在其上安排进程的机器。机器名称可以附加一个冒号和一个整数,表示要在该机器上安排的进程数。此类文件的示例如下:
node1
node2:3
node3:2
此文件确定将进程分配给机器 node1、node2 和 node3。只有一个处理器分配在 node1 上,因为没有指定 :n
, 3 个进程将分配给 node2,2 个进程将分配给 node3。
仅支持资源文件的两种格式:
- 机器名称重复
n
次,其中n
为每个节点的内核数。 - 使用
机器名:n
指定内核数。
示例:
以下示例显示了用于使用设备文件在一组机器上运行Design Manager项目的命令:
[STAR-CCM+_INSTALL_DIR]/star/bin/starlaunch --command "[STAR-CCM+_INSTALL_DIR]/star/bin/starccm+
-batch run [PROJECT_ROOT_DIR]/[PROJECT].dmprj [-passtodesign <options>]" --slots 0 --resourcefile [MACHINE_FILE_DIR]/[MACHINES]
其中:
[STAR-CCM+_INSTALL_DIR]
为 Simcenter STAR-CCM+ 安装目录的绝对路径。[PROJECT_ROOT_DIR]
为项目根目录的路径。[PROJECT]
为Design Manager项目文件的名称。[MACHINE_FILE_DIR]
为设备文件的绝对路径。[MACHINES]
为设备文件。-passtodesign <options>
可用于将额外的模拟命令行选项传递到设计模拟。对于不希望在Design Manager项目文件中保存的特定于机器或特定于用户的选项,通过命令行直接传递命令行选项的方式很有用(请参见在集群上使用预分配方法运行,步骤 2b)。但是,不支持需要使用双引号的命令行选项,必须在 STAR-CCM+ 执行命令属性中设置这些选项。有关更多信息,请参见设计管理器选项。
注意:如果 [PROJECT_ROOT_DIR] 或 [PROJECT] 包含空格,则必须使用嵌套的单引号传递Design Manager项目文件,例如:
[STAR-CCM+_INSTALL_DIR]/star/bin/starlaunch --command "[STAR-CCM+_INSTALL_DIR]/star/bin/starccm+
-batch run '[PROJECT_ROOT_DIR]/[PROJECT].dmprj' [-passtodesign <options>]" --slots 0 --resourcefile [MACHINE_FILE_DIR]/[MACHINES]