【问题标题】:/usr/bin/modulecmd: No such file or directory/usr/bin/modulecmd: 没有这样的文件或目录
【发布时间】: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


【解决方案1】:

显然 /usr/bin/modulecmd 并不存在于所有计算节点中。确保它存在于所有计算节点中,然后重试。

此外,如果 /home 由所有节点共享,则您不需要获取 bash_profile,因为默认情况下 Slurm 会将所有环境导出到作业。

【讨论】:

  • 你能给出一些关于如何查看文件是否存在于计算节点上的说明吗?
  • 只使用同一个批次做一个ls /usr/bin/modulecmd
  • 输出消息说:ls: cannot access /usr/bin/modulecmd: No such file or directory. /tmp/slurmd/jobid/slurm_script: /usr/bin/modulecmd: No such file or directory /tmp/slurmd/jobid/slurm_script: line 11: mpirun: command not found.
  • 那我该怎么办?我知道集群是把计算和存储分开的,三个是计算节点和存储设备,它们是相互连接的。文件系统为所有节点提供全局视图。这就是我被教导的。但我不太明白,我想我一定是误解了,卡在了某个地方。
  • 计算节点中没有可用的模块。您可以做的是在提交作业之前加载模块,并联系集群管理员并要求他们在所有计算节点上安装模块。如果在登录节点上加载模块,则应删除 . ~/.bash_profilemodule load intel 命令
猜你喜欢
  • 2013-12-15
  • 2023-04-04
  • 2015-11-29
  • 1970-01-01
  • 2015-08-16
  • 2016-02-20
  • 2021-10-24
  • 2019-12-10
  • 2016-04-18
相关资源
最近更新 更多