首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SLURM中运行一个大MPI作业后的顺序任务

在SLURM中运行一个大MPI作业后的顺序任务
EN

Stack Overflow用户
提问于 2017-09-10 08:25:31
回答 1查看 737关注 0票数 2

我有一个slurm作业,我使用批处理脚本启动它,例如:

代码语言:javascript
复制
#! /bin/bash -l

#SBATCH --job-name=job1
#SBATCH -o stdout.log
#SBATCH -e stderr.log
#SBATCH --ntasks=160

cd $WORK/job1

mpirun ./mympitask # 1.)

./collect_results  # 2.) long-running sequential task.

第一步(1.)但是,第二步(2)使用MPI并行运行。我需要做的只是一个任务,其余的任务应该被释放,这样我就不会占用它们或者浪费无用的CPU时间。

例如,是否可以:

( a)释放除一个任务之外的所有,并在一个CPU上运行最后一步?

( b)指定在完成批处理工作后应该运行的命令?

我在考虑在最后一步使用一个salloc呼叫。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-10 13:29:56

SLURM提供了这两个选项。

1)在运行顺序后处理任务之前,可以

代码语言:javascript
复制
scontrol update job=$SLURM_JOBID NodeList=`hostname`

为了将作业大小缩小为,一个节点

我不知道是否和如何将这项工作缩小到一个核心。

2)另一种选择是提交两个作业,后处理作业依赖于MPI作业:

代码语言:javascript
复制
sbatch mpijob.slurm
sbatch -d afterok:<mpijob SLURM jobid> postprocessing.slurm

重要的部分(这不是火箭科学)部分是自动检索第一个作业的作业is。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46138737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档