我目前正在尝试运行我的第一个 SLURM 脚本,但它在 sbatch 和 srun 中立即失败。 我一个接一个地测试了其中的 python 命令,它们都可以独立工作,这让我相信罪魁祸首在于以下几行之一:
#!/bin/bash
#SBATCH --job-name=test_today
#SBATCH -o $HOME/user/%x_%j.txt
#SBATCH -e $HOME/user/%x_%j_error.txt
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
下面只有已经测试过的Python命令,没有其他。
我感谢任何建议!
亲切的问候
小附录:既没有创建错误文件,也没有创建输出文件,很抱歉没有早点提到这一点!
您不能在 Slurm 指令中使用 Bash 变量。在行中
#SBATCH -o $HOME/user/%x_%j.txt
#SBATCH -e $HOME/user/%x_%j_error.txt
$HOME
变量未被解释。
因此,输出和错误文件的创建失败,Slurm 没有文件可写入任何错误消息。因此,您观察到的行为。
将
$HOME
部分替换为该变量的实际内容,并在提交作业之前确保要写入文件的目录存在。
我解决了这个问题,我的脚本是在 HPC 的另一个节点上执行的,由于某种原因,该节点无法访问运行我的脚本所需的文件。
非常感谢大家的回答和评论!