[英]Running Python scripts in Slurm
我最近开始了一份新工作,需要通过 Slurm 在 HPC 上运行一些脚本。
我的脚本是用 Python 编写的,因此我想在我的.slurm
文件中使用python script.py
来执行这些脚本。
但是,当我尝试运行.slurm
文件时,它似乎无法调用 python 脚本。 我尝试使用module load anaconda3
及其变体(例如module load python
等)加载 python 环境。 附件是我的array.slurm
文件,供参考(.slurm 文件) 。 为了匿名上传,我已经将帐户和邮件用户留空,但是当我运行脚本时我有这些。
Slurm 的错误文件 output 指示以下内容:
/var/spool/slurmd/job220829/slurm_script: line 19: module: command not found
有人可以提供实用指导吗? 我需要尽快运行这些 Python 脚本。
正如md2perpe提到的,每个 HPC 系统都是不同的。 他们在某种程度上定制了 slurm 调度程序。 仍然有许多 HPC 共享相同的基本命令。
例如,这是我创建的作业提交脚本,用于在 GPU 节点上运行 python 文件。
#!/bin/bash
#SBATCH --nodes=1
#SBATCH --time=00:00:40
#SBATCH --ntasks=1
#SBATCH --job-name=gpu_check
#SBATCH --output=gpu.%j.out
#SBATCH --error=gpu.%j.err
#SBATCH --gres=gpu:1
#SBATCH --account=scw1901
#SBATCH --partition=accel_ai
module load anaconda/3
source activate base
python gpu.py
我可以给你以下建议:
source activate base
。 要查看可用的 conda 环境列表,请键入此conda env list
。 然后激活您选择的 conda 环境。sinfo
的列表。 还要检查 state。如果它被drain
或reserved
,那么您根本无法使用该分区。--ntasks-per-nodes
和--array
的情况下运行您的脚本。 为什么不试试我的工作脚本?JOBID
是由%J
而不是%a
定义的,就像你的例子一样。--mail
如果你不需要它。SLURM_ARRAY_TASK_ID
? 如果您不知道,请将其删除。module
命令。 错误在第 19 行。但是您在第 18 行使用了模块命令。您确定共享的作业脚本正确吗?module load anaconda/3
吗? 只需在 SSHing 后复制并粘贴即可。 如果是,则module
可用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.