- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在后台运行 srun 的 slurm 作业。不幸的是,现在由于我必须通过 docker 运行东西,使用 sbatch 有点烦人,所以我试图找出是否可以一起避免它。
根据我的观察,每当我运行 srun 时,都会说:
srun docker image my_job_script.py
并关闭我运行命令的窗口(以避免接收所有打印语句)并打开另一个终端窗口以查看命令是否仍在运行,似乎我正在运行的脚本由于某种原因被取消或其他原因。由于它不是通过 sbatch,它不会向我发送带有错误日志的文件(据我所知),所以我不知道它为什么关闭。
我也尝试过:
srun docker image my_job_script.py &
将终端的控制权交还给我。不幸的是,如果我这样做,它仍然会继续将内容打印到我的终端屏幕上,这是我试图避免的。
本质上,我通过 ssh 登录远程计算机,然后执行 srun 命令,但似乎如果我终止 ssh 连接的通信,srun 命令就会自动终止。有办法阻止这种情况吗?
理想情况下,我希望基本上发送脚本来运行,并且不会以任何原因取消它,除非我通过 scancel
取消它,并且它不应该打印到我的屏幕上。所以我理想的解决方案是:
这将是我的想法解决方案。
<小时/>对于那些想了解 sbatch 问题的好奇人群,我希望能够做到(这是理想的解决方案):
sbatch docker image my_job_script.py
但是,正如人们所知,它不起作用,因为 sbatch 收到的命令 docker 不是“批处理”脚本。本质上一个简单的解决方案(这对我的情况并不适用)是将 docker 命令包装在批处理脚本中:
#!/usr/bin/sh
docker image my_job_script.py
不幸的是,我实际上正在使用批处理脚本对我正在运行的任务的大量信息(有点像配置文件)进行编码。因此,这样做可能会影响我所做的工作,因为它们的底层文件正在更改。通过将作业直接发送到 sbatch 可以避免这种情况,因为它本质上创建了批处理脚本的副本(如本问题所述: Changing the bash script sent to sbatch in slurm during run a bad idea? )。因此,我的问题的真正解决方案是让我的批处理脚本包含我的脚本所需的所有信息,然后以某种方式在 python 中调用 docker,同时传递所有信息。不幸的是,一些信息是函数指针和对象,所以我什至不清楚如何将这样的东西传递给在 python 中运行的 docker 命令。
<小时/>或者也许能够直接运行 docker 到 sbatch 而不是使用批处理脚本也可以解决问题。
最佳答案
可以使用选项-ostdout和-e(对于stderr)重定向输出。
因此,该作业可以在后台启动并重定向输出:
$ srun -o file.out -e file.errr docker image my_job_script.py &
关于python - 是否可以使用 SRUN 而不是 SBATCH 在后台运行 SLURM 作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42166446/
我正在使用 srun 来运行我的程序,但是它无法打印输出。 me@home:~$ srun -p K80q --gres=gpu:1 -N 1 python3 main.py 2019-05-15 1
这个问题很容易用例子来解释。我正在运行一个 myscript.py 虚拟 Python-MPI 脚本,其内容就在下面两行。 from subprocess import call call(['whi
我有一段代码通常在 SLURM 下运行。有点像 if ! lengthy_command then echo "Error occured" fi 出于会计目的,我想转移到基于 srun 的命
我想在大量不同的输入文件上运行相同的程序。我可以将每个作为单独的 Slurm 提交提交,但我不想通过一次在队列上倾倒 1000 个作业来淹没队列。我一直在试图弄清楚如何通过先创建分配来处理相同数量的文
抱歉,这个问题需要大量积累,但总而言之,是关于srun ... >output_file的许多并行实例的条件。将或不会导致某些流程/任务对其他流程/任务产生的输出的破坏。 案例 0:仅 bash(无
当处于 RUNNING 状态时,我需要区分批处理作业和交互式作业。我无法通过 sact 或 stat 找到了解作业是否为交互式 session 的方法。 有没有人解决过类似的问题? 最佳答案 您可以在
在 blog post by Pierre Lindenbaum 中, srun 在 Makefile 中被调用以运行作业。我依靠这种技术,但它根本不使用 sbatch,所以我错过了设置类似 sbat
如果在下面将“mpirun”替换为“srun”,我的 mpi+openmp 作业运行速度会慢 3 倍! #!bin/bash # #SBATCH --job-name=locstack4d_mpi #
我试图了解 SLURM 的 srun 之间有什么区别和 sbatch命令。我会很高兴得到一般性的解释,而不是对以下问题的具体答案,但这里有一些具体的混淆点,可以作为一个起点,并让我了解我正在寻找什么。
Slurm上以下两种并行化方案有什么区别? 方案一 运行 sbatch script.sh #!/bin/bash #SBATCH --ntasks=8 ## more options srun ec
我必须运行 300 个相同模型的作业(黑匣子)。然而,有时模型内部会出现段错误并显示以下错误消息: srun: error: nodexyz: task 0: Segmentation fault 集
我正在使用由 slurm 管理的集群来运行一些 yarn/hadoop 基准测试。为此,我在 slurm 分配的节点上启动 hadoop 服务器,然后在其上运行基准测试。我意识到这不是运行生产 had
大家好, 我的问题很具体。 一个多星期以来,我一直在尝试使用 sbatch 和 srun 提交数千个单线程作业以进行科学实验。 问题是这些作业可能需要不同的时间才能完成,有些作业甚至可能会因为超出内存
在Slurm中运行以下命令: $ srun -J FRD_gpu --partition=gpu --gres=gpu:1 --time=0-02:59:00 --mem=2000 --ntasks=
我试图在后台运行 srun 的 slurm 作业。不幸的是,现在由于我必须通过 docker 运行东西,使用 sbatch 有点烦人,所以我试图找出是否可以一起避免它。 根据我的观察,每当我运行 sr
我无法让我的 twittercontainer 坐在 srun 和 mentor 的右边,我似乎无法改变 twittercontainer 的高度请帮助。我只需要了解如何在一列中获得基本上是两个 di
我是一名优秀的程序员,十分优秀!