【发布时间】:2016-03-28 11:54:12
【问题描述】:
我正在使用 sbatch 提交我的作业。
命令行mpirun --version 给出:
适用于 Linux* 操作系统的英特尔(R) MPI 库,版本 5.0 内部版本 20140507
版权所有 (C) 2003-2014,英特尔公司。版权所有。
所以我认为我正在使用英特尔 mpi。
在instructions: submitting an MPI job using Intel MPI之后,我这样写我的脚本:
#!/bin/bash
#SBATCH --ntask=4
#SBATCH -t 00:10:00
. ~/.bash_profile
module load intel
mpirun mycc
mycc 是我用 mpicc 编译源文件后得到的可执行文件。
然后我使用命令sbatch -p partitionname -J myjob script.sh,我的工作因退出代码 127:0 而失败。 slurm-jobid.out 文件说(撇开设置的语言环境警告):
/usr/share/Modules/init/sh:第 2 行:/usr/bin/modulecmd:没有这样的文件或目录 /tmp/slurmd/job252624/slurm_scirpt:第 10 行:mpirun:找不到命令
但我检查过,/usr/bin/modulecmd 文件确实存在。
任何建议都值得赞赏。
编辑
我也问了here的问题。
我已经删除了源语句和模块加载一个。
在提交作业之前,我尝试在登录节点上加载模块。但是有一点不对劲。它说:
moduleCmd_Lad.c(204):错误:105:无法找到“intel”的模块文件
我使用module avail 命令查看可用的模块:
---------/usr/share/Modules/modulefiles-------
dot module-info mpich2-x86_64 use.won
module-cvs 模块为空
---------/etc/modulefiles-------------------
compat-openmpi-psm-x86_64 compat-openmpi-x86_64
请原谅我乱七八糟的格式。
已解决
问题终于解决了。我最终的 script.sh 是这样的:
#!/bin/bash
srun -p partitionname -n 4 -t 00:10:00 mycc
然后使用命令sbatch -p partitionname -J myjob script.sh提交作业。
【问题讨论】:
-
您检查它是否存在于登录节点或计算节点上?我怀疑脚本是在分配给您的第一个节点 slurm 上执行的,所以如果那里没有安装
module命令,您将收到此错误消息... -
显然不是华威学生:^)。您会在超级用户交流中找到更多帮助,因为这与系统管理员相关,而不是编程:)。
-
@Gilles 你能更具体一点吗?我的意思是,如何检查文件是否存在于登录节点或计算节点上?我原以为所有文件都存储在存储节点上。
-
@Samidamaru 我会在那里回答我的问题。 :)
-
@Samendamaru 超级用户的问题是没有slurm标签,所以很多用户来这里问,因为Stack Overflow中有更多答案
标签: mpi slurm sbatch environment-modules