使用 Cray MPI
Simcenter STAR-CCM+ 支持 Cray EX 集群上的 Cray 优化 MPI 库。
原生 Cray MPI 8 库在运行时使用 Simcenter STAR-CCM+ 命令行选项 -mpi crayex 指定。
用户指定的 Cray MPI 位置
默认情况下,Simcenter STAR-CCM+ 尝试在默认位置查找原生 MPI 库。设置后,环境变量 MPICH_DIR 提供已安装 MPI 的默认位置。此变量通常由 cray-mpich Linux 模块设置(该模块由用户显式加载或系统默认显式加载)。还可以使用 CRAY_MPI_HOME 环境变量手动指定原生 MPI 库的位置,例如:
setenv CRAY_MPI_HOME /opt/cray/pe/mpich/8.1.14/ofi/cray/10.0确保指定的 Cray MPI 版本与 Simcenter STAR-CCM+ 和选定的 -mpi 选项兼容。
Cray MPI 支持使用不同编译器构建的应用程序。Simcenter STAR-CCM+ 必须使用通过 GNU 编译器构建的 Cray MPI 库。因此,使用 Linux 模块功能指定已安装 MPI 的位置时,确保已选择 GNU 编译器构建的 Cray MPI。例如,使用模块载荷 PrgEnv-gnu。
在 Cray EX 系统上选择系统 libfabric
Cray EX 系统上的 Slingshot 11 (Cassini) 网络需要 Cray 在其系统上提供的自定义 libfabric,这通常通过模块系统默认加载。必须使用此 libfabric 版本才能在 Cray EX 系统上运行 Simcenter STAR-CCM+。如果 Simcenter STAR-CCM+ 无法自动检测系统 libfabric,会打印警告消息。在这种情况下,必须使用专家命令行选项 -xsystemlibfabric 和 -ldlibpath 手动指定系统 libfabric 的路径。
进程放置和分布
SLURM 系统上的 Cray MPI 8
可以通过 -machinefile、-on 或 -batchsystem 命令行选项实现流程放置。
在 SLURM 系统上,默认流程分发策略设为任意,这意味着它遵循批处理系统、主机文件或主机列表给出的流程顺序。通过 -mpiflags 命令行选项将 -distribution 或 -m 设为所需值,可以覆盖此策略。
非 SLURM 系统上的 Cray MPI 8
由于 Cray MPI 与作业调度程序紧密耦合,因此在启动 Simcenter STAR-CCM+ 时,必须使用 -np 命令行选项指定进程数。主机列表由 Cray 系统自动确定;列表可能不会通过 -machinefile、-on 或 -batchsystem 命令行选项来指定。
如果需要特殊流程分发,则在提交作业时使用作业调度程序(通常为 PBS 或 SLURM)控制此分发。有关详细信息,请参见群集和作业调度程序的文档。
指定环境变量
在非 SLURM Cray 系统上,用户环境变量(通过 -mpiflags 选项)可以通过 -e 或 --environment-override 传递到 Cray MPI。如果同一环境变量传递了两次,-e 优先于 --environment-override,如果通过不同的命令行标志进行传递,则不考虑其顺序。否则,使用最后一个值。