我正在尝试编写 PBS 脚本。
我必须在集群中使用 4 个节点并运行 4 次可执行程序。困难在于 4 个执行必须并行运行,逐个节点
目前,我刚刚分配了节点
#PBS -l nodes=4:ppn=1
问题是我不知道如何确保程序并行运行。我该怎么做?
最佳答案
如果您不需要程序与自身的其他副本进行通信,则不需要 MPI。 MPI 代表消息传递接口(interface) ( MPI Forum Website ),是编写并行程序的最流行的方法。网络上有很多教程,您可以通过快速搜索找到。我建议看看它们。您可以通过自行安装 MPI 库在自己的计算机上进行测试。它们在大多数包管理器中都可用。最流行的开源实现是 MPICH和 Open MPI 。如果您是从头开始,请尝试获取最新版本,因为这样您可以从各个社区获得更多帮助。
您可以使用 mpiexec
执行非 MPI 程序,它将跨多个节点启动(假设您已正确设置),但它不会执行任何操作来使它们进行通信。这必须明确完成(再次参见 MPI 教程)。
如果您不打算在进程之间进行通信(并行计算),我必须想知道为什么您要首先在集群中运行同一程序的多个副本。唯一想到的是简单的集群维护实用程序,但是有比 PBS/MPI 设置更好的方法来做到这一点,我想如果您正在进行集群维护,您已经知道要使用什么.
关于parallel-processing - 使用 PBS 脚本并行执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19213496/