在 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 exec
或 singularity run
时,您正在生成一个进程,不幸的是,您无法 运行 来自与 [=] 相同的上下文中的其他进程12=].
但是,如果您改用 singularity instance start some_instance_name
,则可以执行此操作。之后,您可以使用 singularity shell
或 singularity exec
访问与 运行ning 作业相同的环境。 More details are available in the documentation.
我 运行正在关注 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 exec
或 singularity run
时,您正在生成一个进程,不幸的是,您无法 运行 来自与 [=] 相同的上下文中的其他进程12=].
但是,如果您改用 singularity instance start some_instance_name
,则可以执行此操作。之后,您可以使用 singularity shell
或 singularity exec
访问与 运行ning 作业相同的环境。 More details are available in the documentation.