使用 Sun Grid Engine 而不使用 MPI 的多节点作业

计算科学 并行计算 高性能计算
2021-12-16 20:07:54

我试图弄清楚如何为 Sun Grid Engine 编写一个合适的作业文件,这样我就可以在多个节点上使用 Mathematica 运行并行计算。不幸的是,几乎所有关于该主题的教程都假设使用 MPI,但这里并非如此。

为了让这个工作,我需要找到一些非常具体的问题的答案:

  1. 当我请求多个节点时,作业文件将在所有节点上运行,还是仅在单个节点上运行?在这种情况下,我只需要在单个节点上运行它,并启动一个我们可以称为控制进程的进程

  2. 如何访问所有其他节点的名称/IP 地址?我有这个答案:PE_HOSTFILE变量应该指向一个列出所有节点名称的文件。

  3. 如何让控制进程在我可以使用的任何节点上的任意时间启动任意进程?ssh nodename command应该为此 简单工作,还是在典型设置中需要密码?

1个回答
  1. SGE 仅在单个节点上运行作业脚本。它在列出的第一台主机上运行PE_HOSTFILE
  2. PE_HOSTFILE可以解析得到所有节点的名字
  3. 在集群内部使用不带密码的 SSH 是一种常见设置,但这取决于谁设置了您将使用的机器。我会问他们。

此外,一些 HPC 站点提供的工具可以让您以更简单的方式启动这些任务。您应该检查您将运行的站点。