2017-06-25 80 views
1

我嘗試使用GNU並行執行多節點(2)和20的PPN中的qsub作業,但它顯示出一些錯誤。qsub使用GNU並行運行的作業

#!/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命令下來 - 沒有輸出創造

我使用並行--version GNU平行20140622

請幫助解決問題

回答

1

首先嚐試將--dryrun添加到parallel

但我的感覺是,$PBS_NODEFILE沒有設置爲某種原因,並且GNU並行試圖讀取命令作爲--sshloginfile

爲了測試這個:

echo $PBS_NODEFILE 
(cd $cdr && parallel --sshloginfile $PBS_NODEFILE -j20 'echo {} | ./vari_1st_imge' ::: *.DS0) 

如果GNU並行現在試圖打開-j20那麼很顯然,這是空的。

+0

感謝您的回覆,我嘗試不使用--sshloginfile $ PBS_NODEFILE代碼運行。你能建議我如何設置$ PBS_NODEFILE。現在錯誤顯示,當我嘗試使用上述:./down:行14:module:command not found parallel:Error:Can not open echo {} | ./vari_1st_imge。 – anu

+0

腳本找不到「並行」二進制文件。驗證它在節點上的駐留位置(例如,運行交互式作業並搜索它,或者詢問集羣管理員),然後將完整路徑放到二進制文件中,或者將路徑添加到PATH環境變量中在腳本的開頭。 。系統也可能已經被設置爲使用'module'命令來包含它。 – clusterdude

+0

您的PBS管理員會知道爲什麼$ PBS_NODEFILE未設置。我自己從來沒有使用過PBS系統,但我的印象是PBS通常自己設置這個變量。 –