MPI 和 Slurm 概念

MPI and Slurm concepts

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

When MPI assigns a rank to identify a computation, who exactly gets assigned the rank: a process, a thread, a cpu, etc?

一个过程

How do I specify that I want to run a mpi job on X amount of cpus, while using slurm, all the parameters I see are for using nodes?

使用--ntasks参数

What is the difference between using mpirun and using srun?

两者都用于在远程节点上启动进程。前者由您的 MPI 实现提供,而后者由 Slurm 提供。您是否可以使用 Slurm 的 srun 来启动您的 MPI 作业取决于 MPI 实现。有关详细信息,请参阅 here

Can I ran an mpi job across multiple partitions

没有。 Slurm 将始终将单个分区中的节点分配给作业