我是并行计算的新手,我无法理解PBS系统的使用。我已成功安装SLURM并设置处理节点。但无法理解我如何在多个节点之间分配任务。
有很多简单的例子,但它们只是运行简单的“Hello World”程序,就是这样。
请考虑以下示例,我在互联网上找到了。
#!/bin/bash
#SBATCH -N 4
#SBATCH -c 1
#SBATCH --time=0-00:15:00 # 30 minutes
#SBATCH --job-name="just_a_test"
module load python
python --version
运行的简单脚本获取Python版本。
当我使用sbatch python.slurm
运行它时,即使我将数字设置为4,结果也仅保存在第一个节点上。但另一方面srun -N4 /bin/hostname
工作正常。
但这不是主要问题。
我无法理解我要编写并行算法的内容。
任何并行算法的例子,如数组排序,矩阵乘法或其他。
例如在Hadoop或多线程环境中使用的步骤。
如何使用SLURM或任何PBS进行相同的操作。
#!/bin/bash
#SBATCH -N 4
#SBATCH -c 1
#SBATCH --time=0-00:15:00 # 30 minutes
#SBATCH --job-name="just_a_test"
what I have to write here ?
请解释一下或给出一篇好文章来阅读,因为我还没有找到。 感谢
答案 0 :(得分:0)
最基本的方法是使用pbsdsh:
pbsdsh hostname
将使jobname命令对作业中的每个执行槽(核心或线程)执行一次。我还要指出,您需要将#SBATCH翻译成他们的#PBS等价物。
更通用的方法是通过MPI实现。