1

是否可以在 PBS 文件中的 for 循环中进行并行化?

下面是我的尝试.pbs 文件。我想分配 4 个节点并同时为每个节点分配 16 个进程。我已经成功完成了这项工作,但现在我有 4 个工作,我想向每个节点发送一个工作。(我需要这样做,因为排队算法会让我等待几天在我正在使用的集群上提交 4 个单独的作业)

#!/bin/bash
#PBS -q normal
#PBS -l nodes=4:ppn=16:native
#PBS -l walltime=10:00:00
#PBS -N HuMiBi000
#PBS -o HuMiBi.000.out
#PBS -e HuMiBi.000.err
#PBS -A csd399
#PBS -m abe
#PBS -V

./job1.sh
./job2.sh
./job3.sh
./job4.sh

这些作业独立运行,不使用相同的数据。我可以从同一个 pbs 脚本为每个节点运行 1 个作业吗?

谢谢你。

4

1 回答 1

1

实现此目的的标准方法是通过消息传递接口 (MPI) 库。Open MPI 是您可以使用的一个很好的实现。可以在此处找到一些基本示例,如果您想了解更多信息,这是 OpenMPI 的教程。

于 2013-09-23T16:01:44.417 回答