我在理解以下基本概念时遇到了一些麻烦:
- 当 MPI 分配等级来识别计算时,究竟是谁获得了等级:进程、线程、cpu 等?
- 如何指定我想在 X 数量的 cpu 上运行 mpi 作业,同时使用 slurm,我看到的所有参数都是用于使用节点的?
- 使用 mpirun 和使用 srun 有什么区别?
- 我可以跨多个分区运行 mpi 作业吗?
当 MPI 分配等级来识别计算时,究竟是谁获得了等级:进程、线程、cpu 等?
一个过程
如何指定我想在 X 数量的 cpu 上运行 mpi 作业,同时使用 slurm,我看到的所有参数都是用于使用节点的?
使用--ntasks
参数
使用 mpirun 和使用 srun 有什么区别?
两者都用于在远程节点上启动进程。前者由您的 MPI 实现提供,而后者由 Slurm 提供。是否可以使用 Slurmsrun
启动 MPI 工作取决于 MPI 实现。有关详细信息,请参见此处。
我可以跨多个分区运行 mpi 作业吗
不会。Slurm 将始终将节点从单个分区分配给作业