天天看点

并行计算作业脚本的编写

并行应用程序需要使用mpirun或mpiexec来运行,但是北京蓝海彤翔科技有限公司集群不允许直接使用mpirun或mpiexec来运行您的并行程序,必须编写作业脚本,通过qsub来提交。

  作业脚本中必须指定所需资源,北京蓝海彤翔科技有限公司集群总共有48个计算节点,每个计算节点包含2个处理器。

  下面给出了两个简单的作业脚本例子,更详细的说明请从下载中心下载MPICH&PBS用户手册查阅。

  如何对集群状态的实时监控,请查看《COMS手册》的“集群状态监控”。

使用以太网运行并行程序。

  假设并行程序为cpi,下面是一个作业脚本的例子。

#!/bin/bash # #$ -cwd #$ -j y #$ -S /bin/bash #PBS -N pi #PBS -l nodes=20:ppn=8 cd $PBS_O_WORKDIR /opt/mpiexec/bin/mpiexec -mpich-p4-no-shmem $PBS_O_WORKDIR/cpi

说明:

  1. 首先必须确保您的程序是用基于以太网的编译及连接器编译出来的可执行文件。

  2. 第1行必须包含,指定shell环境。

  3. 第3行表示在当前目录下执行作业。

  4. 第4行表示将作业运行时的错误输出合并到标准输出流中去。

  5. 第5行表示当前作业使用的shell为bash。

  6. 第7行必须包含,指定该作业的作业名,格式为#PBS –N [作业名]。

  7. 第8行必须包含,指定该作业所需资源,格式为#PBS –l [资源类型1=值,资源类型2=值…]。第8行指定了nodes这个资源的值,20:ppn=8表示20个计算节点,每个节点使用8个处理器。

  8. 第10行表示跳到执行qsub的目录,所以$PBS_O_WORKDIR为OpenPBS系统内置变量,表示用户执行qsub时所在目录。

  9. 第12行为执行并行程序的命令行,北京蓝海彤翔科技有限公司集群要运行并行程序必须使用/opt/mpiexec/bin/mpiexec命令。-mpich-p4-no-shmem必须是在以太网下运行并行程序必须包含的选项。

使用Myrinet网运行并行程序

  假设并行程序为cpi,下面是一个作业脚本的例子。

#!/bin/bash # #$ -cwd #$ -j y #$ -S /bin/bash # #PBS -N pi #PBS -l nodes=4:ppn=4 cd $PBS_O_WORKDIR /opt/mpiexec/bin/mpiexec --comm=gm $PBS_O_WORKDIR/cpi

说明:

  首先必须确保您的程序是用基于Myrinet网的编译及连接器编译出来的可执行文件。

  除了第12行不同外,其他和上节相同。-comm=gm必须是在Myrinet网下运行并行程序必须包含的选项。