在 slurm 作业中输入奇点容器 运行

Enter singularity container running in slurm job

我 运行正在关注 job_script.sh:

#!/bin/bash

singularity --debug run --app ${APP} \
                             --bind "vol/on/host":"vol/on/container" \
                             ${IMG_DIR}/${IMG_NAME}

with sbatch 命令(这是一个很长的 运行ning 作业):

sbatch -p ${QUEUE} --qos=${QOS} --job-name ${JOB_NAME} -o ${JOB_NAME}.o%J -e ${JOB_NAME}.e%J job_script.sh

我想要实现的是在 运行ning 容器中执行命令,在以下 slurm 作业中 运行:

$ squeue -u $USER
JOBID     ARRAY_TASKPARTITION NAME                                  USER      STATE     NODELIST(REASON) CPUS  NODES TRES_PERSTART_TIME            TIME
7988346   N/A       defq      rstudio                               myuser  RUNNING   nc023            1     1     N/A     2019-11-25T06:23:32   2:38:03

当使用 singularity execsingularity run 时,您正在生成一个进程,不幸的是,您无法 运行 来自与 [=] 相同的上下文中的其他进程12=].

但是,如果您改用 singularity instance start some_instance_name,则可以执行此操作。之后,您可以使用 singularity shellsingularity exec 访问与 运行ning 作业相同的环境。 More details are available in the documentation.