parallel-processing - 使用 PBS 脚本并行执行

标签 parallel-processing mpi pbs torque

我正在尝试编写 PBS 脚本。

我必须在集群中使用 4 个节点并运行 4 次可执行程序。困难在于 4 个执行必须并行运行,逐个节点

目前,我刚刚分配了节点

#PBS -l nodes=4:ppn=1

问题是我不知道如何确保程序并行运行。我该怎么做?

最佳答案

如果您不需要程序与自身的其他副本进行通信,则不需要 MPI。 MPI 代表消息传递接口(interface) ( MPI Forum Website ),是编写并行程序的最流行的方法。网络上有很多教程,您可以通过快速搜索找到。我建议看看它们。您可以通过自行安装 MPI 库在自己的计算机上进行测试。它们在大多数包管理器中都可用。最流行的开源实现是 MPICHOpen MPI 。如果您是从头开始,请尝试获取最新版本,因为这样您可以从各个社区获得更多帮助。

您可以使用 mpiexec 执行非 MPI 程序,它将跨多个节点启动(假设您已正确设置),但它不会执行任何操作来使它们进行通信。这必须明确完成(再次参见 MPI 教程)。

如果您不打算在进程之间进行通信(并行计算),我必须想知道为什么您要首先在集群中运行同一程序的多个副本。唯一想到的是简单的集群维护实用程序,但是有比 PBS/MPI 设置更好的方法来做到这一点,我想如果您正在进行集群维护,您已经知道要使用什么.

关于parallel-processing - 使用 PBS 脚本并行执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19213496/

相关文章:

ruby-on-rails - 如何获得最佳性能 rails 请求并行 sidekiq worker

r - Foreach .combine 函数来组合 R 中的列表

java - 尝试使用 Surefire 从 Maven 启动并行 TestNG 测试

c++ - 如何在实时流应用程序上使用 mpi?

通过 qsub 运行 R 脚本

parallel-processing - 在 Apache Storm 中每个集群节点配置多个 worker 的原因是什么?

c++ - 避免在 C++ MPI 中为 cout 重复 if 语句

c - 在多进程 scanf 的 MPI 中只接受一次输入并将垃圾值分配给其他?

linux - 名称为 ! 的文件是什么意思?意思是?

bash - 立即发现并非所有环境变量都已在 qsub 命令行上定义