在一组机器上运行

可以使用命令行在一组网络机器上提交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]