问题标签 [slurm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - MPI Slurm 退出代码 254?
我正在尝试使用 MPI 运行 C 文件。我对 MPI 还比较陌生,所以我不确定出了什么问题。我正在尝试计算执行一个功能需要多长时间,以测量与串行版本相比的加速。时序代码如下:
代码是使用编译的mpicc -g -Wall -std=c99 -o pagerank-mpi pagerank-mpi.c
代码运行使用srun -n 2 ./pagerank-mpi 1000
当它运行时,我得到以下输出:
我找不到退出代码 254 的含义,也不知道 vbuf.c 是什么。该代码无法打印最终概率,但会打印两次初始概率,这是它不应该做的事情。我主要关心的是 Abort 行和退出代码。谁能解释他们在做什么以及为什么?
slurm - SLURM 批量输出缓冲
我创建了一些 slurm 脚本,然后尝试使用 sbatch 执行它们。但是输出文件更新不频繁(可能每分钟一次)。
有没有办法改变 sbatch 中的输出缓冲延迟?我知道在这种情况下会使用 stdbuf,但我无法使其与 sbatch 一起使用。
perl - 如何使用 perl 脚本获取在 slurm 上提交的作业的作业 ID 号?
我有两个工作,jobA.sh 和 jobB.sh。我希望 jobB.sh 在 jobA.sh 成功完成后启动。为此,我必须获取jobA.sh 的jobid 编号。但是我的代码的以下部分是有问题的。我的代码给出了以下错误。该错误意味着 jobB.sh 没有启动。代码无法获取jobA.sh 的jobid 号。如何获取jobA.sh的jobid号?
错误:
提交批处理作业 298784 sbatch:错误:批处理作业提交失败:作业依赖问题
该代码正确提交了 jobA.sh,但它为 jobB.sh 提供了上述错误。
cluster-computing - 在 Slurm 集群上运行批处理作业
所以我现在花了几个小时试图弄清楚这一点,并希望得到任何帮助。
我要做的是使用 slurm --array0-654 运行批处理作业
我希望每个作业步骤运行 8 个线程。
我可以访问集群上的 11 个节点,每个节点都有 32 个线程,但我似乎无法正确配置 SBATCH。它似乎要么每个节点运行一个作业,要么在所有节点上运行 200 多个作业。
我尝试了许多不同的配置,想知道是否有人有一些建议。
memory - slurm 作业中的逐项内存/时间使用情况
我有一个这样的 slurm 工作:
使用sacct
,可以获得整个作业的时间和 cpu 使用率。我也有兴趣专门获取这些cmd1
信息cmd3
。你怎么能那样做?工作会srun
帮助做到这一点吗?
time - SLURM 报告的时间使用问题
我无法理解下面的时间使用报告:
1) 为什么作业步骤 1 和 2 的时间不加到批处理线上?
2)每列之间的关系是什么,尤其是对于TotalCPU
和CPUTime
?
3) 对于工作的时间使用情况,哪一项最好报告?
python - 在 SLURM 批处理脚本中将参数传递给 python 脚本
我编写了一个 python 脚本,它需要两个参数,当我在命令行上运行它时工作得很好:
pythonscript.py arg1 arg2
我需要在 SLURM 批处理脚本中运行它,但每当我这样做时,我都会收到“非法指令”错误和核心转储。这是我正在使用的脚本示例:
我花了很多时间试图找出导致核心转储的确切原因,这就是我缩小范围的原因。它仅在从批处理脚本运行时崩溃,并且仅在我尝试使用参数运行脚本时崩溃。当我修改它以不带参数运行时,它运行正常。谁能告诉我如何在 SLURM 脚本中将这些参数传递给我的 python 脚本?
linux - SLURM 上的多线程
我有一个使用该Parallel::ForkManager
模块分叉的 Perl 脚本。
据我所知,如果我 fork 32 个子进程并要求 SLURM 调度程序在 4 个节点上运行作业,每个节点 8 个处理器,代码将在每个内核上执行每个子进程。
我实验室里有人说,如果我在多个节点上运行一个作业,而其他节点都没有使用,那我就是在浪费时间和金钱。这是准确的吗?
如果我使用分叉的脚本,我是否仅限于使用 SLURM 的一个节点?
php - 自动检索 bsub 的结果
我正在寻找一些一般性建议,而不是编码解决方案。基本上,当通过 bsub 提交作业时,我可以通过指定以下任何一项来检索 Stdin/Stdout 的日志:
这些都很棒,但是我的程序在提交给 bsub 时会创建一个文件夹并存储在远程服务器上。基本上我想
a) 检索文件夹及其内容 b) 作业完成时自动执行此操作
所以我可以在技术上使用scp -r
,但是我必须手动执行此操作。如果我在工作完成后收到电子邮件警报,那还不错,但仍然 - 我必须手动执行此操作。
所以到b):
好吧,我看不到 bsub 检索实际结果的任何特殊标志,只有 StdOut。我想我可以有一个使用sleep
并设置工作时间的脚本(为了安全起见可能有点逗留),比如
但是我有点担心被注销等以及脚本在作业完成之前终止。
有没有人有什么建议?
我本质上想要一个界面(将来的网站),用户可以在其中提交文件,远程分析文件,在工作开始/完成时向用户发送电子邮件,结果自动检索回本地/网络服务器,用户收到电子邮件说他们可以选择提高他们的成绩。
不过一步一步!
hpc - 在并行处理中更改 $TMPDIR
我在高性能计算系统上运行批处理作业来对对齐的读取进行排序,并使用 GNU 并行来加速我的工作,但我的工作失败了,原因如下:
并行:错误:输出不完整。无法追加到 $TMPDIR 中的缓冲区文件。磁盘是否已满?并行:错误:使用--tmpdir 更改$TMPDIR 或使用--compress。
我的作业脚本如下所示:
有谁知道如何解决这个问题?