我在集群服务器上提交一个R作业,只要我将结果保存在与脚本文件相同的工作目录中,该作业似乎运行正常。实际上,我希望将R(通过saveRDS())的结果保存到另一个目录(例如/var/tmp/results)中,但我认为Slurm正在将我的bash脚本输出重定向到它的工作目录,从而导致No such file or directory R错误。
我环顾了四周,但我无法找到为作业结果输出指定另一条路径的方法。也许我用错了键,因为我的语言限制,因为我不是以英语为母语的,如果这是一些琐碎的事情,我在此道歉。
我将在下面的脚本中添加我调用的脚本,即my_script.sh
#!/bin/bash
#SBA
我正在尝试让一个非常基本的作业数组脚本在HPC上使用Slurm作业调度程序工作。我得到了一个错误: slurmstepd: error: execve(): Rscript: No such file or directory 这类似于this,但我没有使用任何export命令,所以这不是这里的原因。一些消息人士说,这可能与在Windows中创建这些脚本有关,因此行尾将不适用于Unix。这会是问题所在吗?如果是这样的话,我该如何检查呢? 我的shell脚本: #!/bin/bash
# Example of running R script with a job array
#SBATC
我有一个sbatch脚本,用于通过不同的步骤将作业数组提交到Slurm:
#!/bin/bash
#SBATCH --ntasks 1
#SBATCH --nodes 1
#SBATCH --time 00-01:00:00
#SBATCH --array=0-15
dir="TEST_$SLURM_ARRAY_JOB_ID"
org=base-case
dst=$dir/case-$SLURM_ARRAY_TASK_ID
#step 0 -> I'd like that this step was executed only by one task!
sru
我试图在SLURM上提交一组作业,但是睡眠命令并没有像预期的那样工作。我想每10秒启动一次工作。但是,此代码等待10秒才能启动整个作业数组。如何修改下面的bash文件?
#!/usr/bin/env bash
# The name to show in queue lists for this job:
#SBATCH -J matlab.sh
# Number of desired cpus:
#SBATCH --cpus=1
#SBATCH --mem=8gb
# The time the job will be running:
#SBATCH --time=167:00:00
#
所以我正在运行一些代码,在集群上运行大约需要2个小时。将批处理文件配置为
# Set maximum wallclock time limit for this job
#Time Format = days-hours:minutes:seconds
#SBATCH --time=0-02:15:00
如果工作因任何原因而变慢的话,就给你一些开销。我检查了生成的文件存储在其中的目录,每次都成功地完成了模拟。尽管如此,slurm仍然保持作业运行,直到达到最大时间为止。.out文件一直在说
slurmstepd: *** JOB CANCELLED AT 2022-03-05T10:38:26
我有一个提交给condor的R作业,当我向condor提交作业时,提交给condor的R文件(one.R)正在读取另一个R文件(two.R),失败的原因是提交的R(one.R)文件没有读取文本文件中的调用R文件(two.R)错误是:
Error in file(file, "rt") : cannot open the connection
Calls: read.table -> file
In addition: Warning message:
In file(file, "rt") :
cannot open file 'C:/User
我在HPC集群上使用作业管理器。有时会有这样的情况,一项工作由于时间限制而被取消,我想优雅地完成我的计划。
据我所知,取消的过程分两个阶段进行,软件开发人员才能优雅地完成该程序:
srun: Job step aborted: Waiting up to 62 seconds for job step to finish.
slurmstepd: er
SLURM (特别是s批处理)是否应该自动将用户脚本(而不是作业配置脚本)复制到集群的计算节点以供执行?从我的登录节点执行sbatch文件后,输出文件将在我的一个计算节点上创建,但包含以下内容:
ERROR: could not open file /home/pi/slurm.jl
Stacktrace:
[1] include at ./boot.jl:328 [inlined]
[2] include_relative(::Module, ::String) at ./loading.jl:1105
[3] include(::Module, ::String) at ./Base
例如,如果运行一个求和到slurm的作业,并通过scancel -u username取消slurm作业,并使用ctrl-c取消snakemake,则在下一次运行snakemake时会说:
The files below seem to be incomplete. If you are sure that certain files are not incomplete, mark them as complete with
它是怎么知道的?它会在内部生成自己的“触摸文件”吗?
我喜欢在R代码中调用OS命令(在linux中运行一个shell文件),并一起发送我在R代码中获得的参数。例如,MyRcode.R将进行一些计算并得到一个向量输出。然后,MyRcode.R将使用for循环运行一个shell文件并发送向量中的每个元素。下面是一个简单的代码示例。
MyRcode.R
############################################
### Some calculation to get myVector ######
.
.
####################