【问题标题】:How do I pass my Python script into Slurm sbatch?如何将我的 Python 脚本传递到 Slurm sbatch?
【发布时间】:2021-03-08 14:50:12
【问题描述】:

我已经编写了我的 python 脚本,我打算将它传递到我大学的 Slurm sbatch 系统中进行计算。我编写了一个简短的 shell 脚本,它应该只是将 python 脚本输入到 sbatch 系统中,但是我收到一个错误消息:

python: 无法打开文件 'retrieve.py': [Errno 2] 没有这样的文件或目录

即使在网上阅读了大量有关该系统的信息后,我也不知道该怎么办。 python脚本和shell脚本位于同一个文件夹中,我的shell脚本现在只是说以下内容:

#!/bin/bash

python retrieve.py

一旦我知道脚本文件有效,我打算将更多必要的信息添加到脚本文件中,所以我现在只是希望得到一些帮助来解决这个问题。谢谢!

【问题讨论】:

    标签: python shell slurm sbatch


    【解决方案1】:

    我猜你没有在错误的目录中。如果没有其他选项,Slurm 作业将使用您提交作业的目录作为工作目录。因此,如果您从另一个文件夹提交可能会出现问题。

    要开始调试,您可以将ls 放入您的作业脚本(在python 调用之前)或执行echo $PWD 以确保您位于正确的目录中。

    甚至可以使用 sacct -j <JOBID> -o workdir 获取工作的工作目录(如果路径太长并被切断,请添加 -p)。

    【讨论】:

    • 还要确保您从所有计算节点上可用的共享文件系统运行您的代码(任何“家庭”文件系统都应该是这种情况,但“临时”文件系统可能不是这种情况)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-01
    • 2014-08-21
    • 1970-01-01
    • 1970-01-01
    • 2021-01-19
    • 2022-01-04
    • 1970-01-01
    相关资源
    最近更新 更多