我使用集群来处理我编写的脚本,并使用以下代码提交这些脚本:
bsub -n 10 < run.sh
提交脚本的开头通常如下所示:
#BSUB -J align[1-10]
#BSUB -e logs/run.%I.%J.err
#BSUB -o logs/run.%I.%J.out
#BSUB -R "span[hosts=1]"
#BSUB -n 10
我的问题是我的脚本是否会使用所有保留的处理器,即使代码没有以某种方式分解?所以如果我有一些非常简单的东西:
echo "this"
没有多个文件可以作用,是否仍然会使用多个处理器来计算或只使用一个处理器?如果它只使用一个处理器,我该如何使脚本使用多个?
答案 0 :(得分:1)
我想如果有人想要一个简单的解释,我会回答这个问题。
#BSUB -J array[1-3]
#This creates a named array whose size matches that of the array created
#on the first line
files=(first.txt second.txt third.txt)
#This refers to the 0, 1, or 2 item in the files array and sets as the
#current file
currentfile=${files[$(($LSB_JOBINDEX - 1))]}
count = 0
#Executes some code on each file individually
while true
do echo $count >> /dir/${currentfile}
let "count+=1"
done