2013-08-23 227 views
14

如何將作業發送到PBS/TORQUE中的特定節點? 我想你必須在節點之後指定節點名稱。如何將作業提交給PBS中的特定節點

#PBS -l nodes=abc 

但是,這似乎並沒有工作,我不知道爲什麼。 這個問題在這裏問上PBS and specify nodes to use

這裏是我的示例代碼

#!/bin/bash 
#PBS nodes=node9,ppn=1, 
hostname 
date 
echo "This is a script" 
sleep 20 # run for a while so I can look at the details 
date 

另外,我該如何檢查哪個節點上運行作業嗎?我看到$PBS_NODEFILE顯示的細節,但它似乎並不適合我。

+0

您是否嘗試刪除'#!/ bin/bash'。我想知道如果bash將'#PBS'解釋爲評論... – iamauser

+0

我沒有嘗試過。所以你認爲我應該在第一行寫什麼? – Ashwin

+0

還有一個命令來了解作業正在哪個節點上運行,我的意思是通過echo顯示。我知道從終端我可以這樣做,使用qstat -n – Ashwin

回答

17

你可以這樣說:

#PBS -l nodes=<node_name> 

您還可以指定處理器數量:

#PBS -l nodes=<node_name>:ppn=X 

或者你可以要求額外的節點,特定或不特定:

#PBS -l nodes=<node_name1>[:ppn=X][+<node_name2...] 

這給你多個特定的節點。

#PBS -l nodes=<node_name>[:ppn=X][+Y[:ppn=Z]] 

這就要求具有來自該節點的X個執行槽的特定節點,以及每個具有Z個執行槽的附加Y節點。

注意:這是所有TORQUE/Moab。它可能會或可能不適用於其他PBS資源管理器/調度程序。

+1

此答案不適用於PBS Pro> v10或v11。 PBS Pro改變了這種選擇的語法。有關信息,請參閱用戶指南的第5章。我只是自己熟悉它,所以不想在這裏嘗試正義。 – dtlussier

+1

沒錯,這個答案是專門爲TORQUE設計的。 – dbeer

+0

我怎麼知道我的集羣有什麼PBS資源管理器? (在不詢問管理員的情況下,終端上是否有可以使用的命令?) – becko

相關問題