我正在尝试通过history.sh
脚本在群集上运行我的bash脚本submit_history.sh
。我想在一个数组中执行此操作,它似乎正在工作,但是它不执行我的history.sh
并输出如下错误行:
cpu-bind=MASK - chuck-11, task 0 0 [3040]: mask 0x40000 set
。试图找到答案的时间已经很长了,但是似乎根本没有。
submit_history.sh
文件:
#SBATCH --ntasks=1
#SBATCH -p long
#SBATCH -J history_bin_50
#SBATCH --output="history-%j.out"
#SBATCH --array=0-97%4
path=($(awk '!x[$1]++{print $1}' escape50_bin.txt | cut -d "/" -f4- | awk '{print "/work/chuck/mocca/ahypki/"$1}'))
./history.sh "${path[$SLURM_ARRAY_TASK_ID]}"
history.sh
文件:
#!/bin/bash -l
path=$1
path=$(echo "$path/escape.dat")
ids=($(awk -v path=$path '($1 == path){print $5, $6}' escape50_bin.txt))
path_to_dir=$(dirname $path)
#echo $path_to_dir
dashed_path=$(echo $path_to_dir | cut -d "/" -f7-13)
dashed_path=${dashed_path////-}
#echo $dashed_path
for (( j = 0; j < ${#ids[*]}; ++ j ))
do
output_file="/work/chuck/mocca/kmaliszewski/escaper_history/bin50/imbh-$dashed_path-${ids[j]}.dat"
#echo $output_file
#echo ${ids[j]}
echo "Executing command:"
echo "mm history --path $path_to_dir --output $output_file --id ${ids[j]}"
if [[ ! -f "$output_file" ]]; then
mm history --path $path_to_dir --output $output_file --id ${ids[j]}
fi
done
注意:mm history
是安装在群集上的正常运行的命令