我正在尝试使用GNU并行执行多节点(2)和PPN为20的qsub作业,但是它显示了一些错误。
#!/bin/bash
#PBS -l nodes=2:ppn=20
#PBS -l walltime=02:00:00
#PBS -N down
cd $PBS_O_WORKDIR
module load gnu-parallel
for cdr in /scratch/data/v/mt/Downscale/*;do
(cp /scratch/data/v/mt/DWN_FILE_NEW/* $cdr/)
(cd $cdr && parallel -j20 --sshloginfile $PBS_NODEFILE 'echo {} | ./vari_1st_imge' ::: *.DS0 )
done
当我运行上面的代码时,我收到以下错误(请注意所有路径都已正确检查,并且没有qsub的相同代码在普通计算机中正常运行)
$ ./down
parallel: Error: Cannot open echo {} | ./vari_1st_imge.
&安培; $ qsub down - 没有输出正在创建
我正在使用并行--version GNU parallel 20140622
请帮助解决问题
答案 0 :(得分:1)
首先尝试将--dryrun
添加到parallel
。
但我的感觉是$PBS_NODEFILE
由于某种原因没有设置,并且GNU Parallel尝试将命令读作--sshloginfile
。
测试一下:
echo $PBS_NODEFILE
(cd $cdr && parallel --sshloginfile $PBS_NODEFILE -j20 'echo {} | ./vari_1st_imge' ::: *.DS0 )
如果GNU Parallel现在尝试打开-j20
,那么很明显它是空的。