MPI 和 Slurm 概念

rig*_*rig 5 mpi slurm

我在理解以下基本概念时遇到了一些困难:

  • 当 MPI 分配等级来标识计算时,究竟是谁分配了等级:进程、线程、CPU 等?
  • 如何指定我要在 X 个 cpu 上运行 mpi 作业,同时使用 slurm,我看到的所有参数都用于使用节点?
  • 使用 mpirun 和使用 srun 有什么区别?
  • 我可以跨多个分区运行 mpi 作业吗?

dam*_*ois 2

当 MPI 分配等级来标识计算时,究竟是谁分配了等级:进程、线程、CPU 等?

一个过程

如何指定我要在 X 个 cpu 上运行 mpi 作业,同时使用 slurm,我看到的所有参数都用于使用节点?

使用--ntasks参数

使用 mpirun 和使用 srun 有什么区别?

两者都用于在远程节点上启动进程。前者由 MPI 实现提供,而后者由 Slurm 提供。是否可以使用 Slurmsrun来启动 MPI 作业取决于 MPI 实现。详细信息请参见此处

我可以跨多个分区运行 mpi 作业吗

不会。Slurm 总是将单个分区中的节点分配给作业