mpi - openMPI 主节点设置配置

标签 mpi parallel-processing openmpi

我正在尝试使用 openMPI 设置一个相对较小的集群(36 个核心),但遇到了一个小问题。我已正确安装并运行所有 openMPI 库和所有依赖项(我可以在每台计算机上作为本地主机运行 hello world MPI 程序)。问题是我似乎找不到太多关于如何让计算机一起执行程序的文档。我可以执行 mpirun --hostfile 命令,但我不想每次执行作业时都必须指定主机文件。另外, future 的用户将无法始终访问集群上的所有 IP 地址。他们和我希望能够毫无问题地执行 mpirun -np 20 programFile 。有人可以就我现在需要做什么提供一些指导吗?公平地说,我在大学只上过一门用 MPI 编写并行程序的类(class),但他们从未向我们展示如何使用 openMPI 设置新集群。我很感激你们能提供的任何建议。我通过搜索找到了本指南 MPICH_Cluster_Setup如果是 openMPI 那就太好了。是否有与 openMPI 有关的类似指南?

最佳答案

您应该使用集群调度程序,例如 Torque、SLURM 或 SGE(全部都是免费/FOSS)。这些允许用户保留节点供其使用,并且所有“对话”都可以打开 MPI 来告诉它哪些节点用于该用户的作业(这样他们就不必使用主机文件)。

根据 MPICH 集群设置文档,它正是开放 MPI 所需的内容,但最终无需设置 MPD(无论如何,MPICH 已弃用 MPD)。

关于mpi - openMPI 主节点设置配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9612282/

相关文章:

python - mpi4py 返回排名差异

c# - CPU 绑定(bind)任务的并行化继续与 IO 绑定(bind)

c# - Parallel.ForEach 中的异常堆栈跟踪和聚合

perl - Perl 测试脚本能否检测它是否正在从一个 harness 中并行运行?

c - 了解二维 MPI 网格中流程的维度、坐标和顺序

c++ - boost mpi : Is there a max length for string variables to pass in an mpi message?

c - 为什么这个 MPI 代码执行无序?

process - 如何在 OpenMPI 中用 --map-by 替换 --cpus-per-proc

java - OpenMPI Java 绑定(bind)行为差异(锁定、累积、获取)

c - 使用 MPI_Bcast 进行 MPI 通信