10.9. 使用PBS/Torque启动
Open MPI 支持 PBS、PBS Pro、Torque 及其他相关资源管理器。
10.9.1. 验证PBS/Torque支持
prte_info 命令可用于确定已安装的 Open MPI 是否包含 Torque/PBS Pro 支持:
shell$ prte_info | grep ras
如果Open MPI安装包含对PBS/Torque的支持,您应该会看到类似下面的行。请注意,MCA版本信息会根据安装的Open MPI版本而有所不同。
MCA ras: tm (MCA v2.1.0, API v2.0.0, Component v3.0.0)
注意
PRRTE是为Open MPI提供运行时环境支持的软件层。Open MPI通常对终端用户隐藏了大部分PMIx和PRRTE的细节,但在这里Open MPI无法掩盖PRRTE(而非Open MPI本身)提供此功能的事实。因此,用户需要使用prte_info命令来检查PBS/Torque支持(而非ompi_info)。
10.9.2. 启动
当正确配置后,Open MPI会直接从Torque/PBS Pro获取主机列表以及每台主机上需要启动的进程数量。因此,无需为mpirun指定--hostfile、--host或-n选项。Open MPI将使用PBS/Torque原生机制来启动和终止进程(不需要ssh)。
例如:
# Allocate a PBS job with 4 nodes
shell$ qsub -I -lnodes=4
# Now run an Open MPI job on all the nodes allocated by PBS/Torque
shell$ mpirun mpi-hello-world
这将在由PBS/Torque分配的节点上运行MPI进程。或者,如果提交脚本:
shell$ cat my_script.sh
#!/bin/sh
mpirun mpi-hello-world
shell$ qsub -l nodes=4 my_script.sh
警告
不要修改 $PBS_NODEFILE 文件!
我们收到一些站点的报告,称系统管理员会根据本地策略修改每个作业中的$PBS_NODEFILE文件。目前这会导致Open MPI出现不可预测的行为。只要没有向主机文件添加新主机,通常意味着Open MPI会将进程错误地映射到主机,但在某些情况下可能导致Open MPI完全无法启动进程。