如何运行MPI任务?

时间:2015-02-28 02:07:13

标签: linux bash shell mpi

我是Linux的新手,最近开始使用我们的大学超级计算机,我需要在我自己的分配空间安装我的程序(GAMESS Quantum Chemistry Software)。我在“插座”下成功安装并运行了它。但实际上我需要在' mpi' (否则使用超级计算机的好处不大。)

系统设置:

  • 操作系统:Linux64,Redhat,intel
  • MPI:impi
  • 编译器:ifort
  • modules:slurm,intel / intel-15.0.1,intel / impi-15.0.1

该软件运行' rungms'并接收参数:

rungms [fileName] [版本] [CPU数量] (例如:./rungms Opt 00 4)

这是我的bash文件(我的感觉是这是我问题的罪魁祸首!):

#!/bin/bash

#Based off of Monte's Original Script for Torque:
#https://gist.github.com/mlunacek/6306340#file-matlab_example-pbs

#These are SBATCH directives specifying name of file, queue, the
#Quality of Service, wall time, Node Count, #of CPUS, and the
#destination output file (which appends node hostname and JobID)

#SBATCH -J OptMPI
#SBATCH --qos janus-debug
#SBATCH -t 00-00:10:00
#SBATCH -N2
#SBATCH --ntasks-per-node=1
#SBATCH -o output-OptMPI-%N-JobID-%j

#NOTE: This Module Will Be Replaced With Slurm Specific:
module load intel/impi-15.0.1

mpirun /projects/augenda/gamess/rungms Opt 00 2 > OptMPI.out

正如我之前所说,程序是为mpi编译的(而不是'套接字')。

我的问题是当我运行 sbatch Opt.sh 时,我收到此错误:

  • srun:错误:来自任务1的PMK_KVS_Barrier重复请求
  • 当我更改-N号时,有时我收到错误说(4!= 2 )即可。
  • 奇数的-N我收到错误,说它期望偶数个进程。

我错过了什么?

Here is the code from our super-computer website as a bash file example

1 个答案:

答案 0 :(得分:2)

Slurm Workload Manager有几种调用英特尔MPI流程的方法。可能,您需要做的只是使用mpirun而不是<a class="genericbtn" title="New" href="javascript:doSubmit('add')">New</a> 。如果仍然存在错误,请参阅here以了解调用英特尔MPI作业的其他方法;它取决于HPC管理员如何配置系统。