在批处理排队系统中将核心分配给 Abaqus

在批处理排队系统上将 Simcenter STAR-CCM+Abaqus 作为并行作业运行时,Simcenter STAR-CCM+ 允许在 Simcenter STAR-CCM+ 启动命令中设置要分配给 Abaqus 的核心数。 它通过 -np 选项上的第二个参数完成此操作,即:

-np [starccm+_cores],[abaqus_cores]

要在批处理排队系统上运行 Abaqus 协同仿真:

  1. 编辑运行脚本中的启动命令,并为每个进程分配所需的核心数。 在以下示例中,Simcenter STAR-CCM+ 分配了 24 个核心,Abaqus 分配了 8 个核心:
    [INSTALL_DIR]/star/bin/starccm+ -np 24,8 -batchsystem <system> -batch <macro_file>.java

    上述参数中定义的 Abaqus 值 (8) 会自动覆盖“执行”属性中的 CPU 数量值。 请参见Specifying Co-Simulation Settings in Abaqus

    对于并行作业,Simcenter STAR-CCM+ 的 CPU 绑定功能可能会阻止协同仿真按预期并行运行。 为每个核心启用多个进程时,建议停用此选项。 要停用 CPU 绑定,使用 -cpubind off 参数启动 Simcenter STAR-CCM+。 通常,停用 CPU 绑定会降低性能。 请参见 CPU 绑定
  2. 将运行脚本提交到批处理管理系统。

启动运行脚本之后,Simcenter STAR-CCM+ 会从排队系统分配的主机中生成设备文件。 Simcenter STAR-CCM+ 使用 -np 参数中的第一个值定义的核心数。 随后,当 Simcenter STAR-CCM+ 启动 Abaqus 时,它通过使用尚未分配用于运行 Simcenter STAR-CCM+ 的主机,将 -np 参数中的第二个值定义的核心数分配给 Abaqus

从排队系统请求的核心总数将确定 Simcenter STAR-CCM+Abaqus 是在单独的核心上运行,还是在相同的核心上运行。

  • 要在单独的核心上运行每个程序,可从排队系统请求 -np 参数上指定的核心总数。
  • 如果程序不并发运行(即,时间推进序列选项设为 STAR-CCM+ 领先Abaqus 领先),则可在相同的核心上运行每个程序。 每个程序的内存占用量不得超过每台主机的本地内存。 如果这些条件适用,则向排队系统请求附加到 -np 参数的两个数字中的最大值。 然后,两个程序将使用相同的核心,但按顺序运行(即:Abaqus 运行时,Simcenter STAR-CCM+ 将休眠,反之亦然)。