如果您只有「make」作爲可能的並行環境,那麼這意味着您的集羣上沒有設置並行環境。
有兩個解決您的問題,根據這些2種情況:
A)你有根/管理員訪問羣集
B)你不
在情況B ,請讓管理員創建一個並行環境。在情況A中,你必須創建一個並行環境。要創建一個新的並行環境中,您必須輸入(需要root /管理員權限):
qconf -ap <pe_name>
,默認編輯器將開始,你必須編輯默認pe_conf文件。如果您需要設置唯一的OpenMP並行環境中,你可以使用這些選項:
pe_name smp
slots 9999
user_lists NONE
xuser_lists NONE
start_proc_args /bin/true
stop_proc_args /bin/true
allocation_rule $pe_slots
control_slaves FALSE
job_is_first_task FALSE
urgency_slots min
accounting_summary TRUE
和一個MPI並行環境:
pe_name mpi
slots 9999
user_lists NONE
xuser_lists NONE
start_proc_args /opt/sge/mpi/startmpi.sh $pe_hostfile
stop_proc_args /opt/sge/mpi/stopmpi.sh
allocation_rule $fill_up
control_slaves FALSE
job_is_first_task TRUE
urgency_slots min
accounting_summary TRUE
當你看到,在後一種情況下,你將指向SGE到爲您的MPI配置提供正確的初始化腳本和關閉腳本。在第一種情況下,您只需指向/bin/true
即可。
allocation_rule
在這個例子中是不同的。 $fill_up
意味着SGE將填充它可以找到的部分MPI作業的任何CPU,而對於smp
配置,則只需在同一臺計算機上分配正確數量的插槽即$pe_slots
。
如果您使用MPI,您的節點應該使用高性能開關連接,如infiniband否則您的工作將花費更多時間進行通信而不是計算。
編輯: 哦,順便說一句:正確synthax提交作業與並行環境中有效的是:
qsub -pe <pe_name> <nb_slots>
最後編輯: 最終答案的問題來這裏下面的評論。實際上,如果羣集上未設置並行環境(PE),SGE不能處理多線程作業。如果沒有集羣管理員權限,則必須猜測對於必須使用qconf -spl
使用,並與qconf -sp <pe_name>
檢查不同的PE,或添加在軟件的選項,允許用戶指定正確的PE必須使用的PE。
否則,即如果羣集上沒有可用的PE,則不能使用軟件的並行版本。
請參閱評論以獲取更多信息。
Grid Engine安裝的管理員定義和配置pe(並行環境),所以,不,你不應該指望默認存在一個叫做'threaded'的pe。至於問題的其餘部分,我無法提供幫助,因爲我有專家管理我使用的集羣的幸運位置,所以不必過多地關注自己的本質。 –