我想提交一個多線程作業到我正在使用的集羣網絡 - 但關於qsub的手冊頁不清楚這是如何完成的 - 默認情況下我猜測它只是將它作爲普通作業發送,而不管多線程 - 但這可能會導致問題,即將多個線程作業發送到同一臺計算機,從而減慢速度。使用多線程應用qsub(sge)
有誰知道如何做到這一點?謝謝。
批處理服務器系統是sge。
我想提交一個多線程作業到我正在使用的集羣網絡 - 但關於qsub的手冊頁不清楚這是如何完成的 - 默認情況下我猜測它只是將它作爲普通作業發送,而不管多線程 - 但這可能會導致問題,即將多個線程作業發送到同一臺計算機,從而減慢速度。使用多線程應用qsub(sge)
有誰知道如何做到這一點?謝謝。
批處理服務器系統是sge。
如果您的工作是多線程的,即使在SGE中也可以利用多線程的優勢。在SGE中,單個作業可以使用一個或多個CPU。如果您提交使用單處理器的作業,並且您的程序有多個線程,而不是單個處理器可以處理的問題,則會發生問題。驗證您的作業使用的處理器數量以及程序創建的每個CPU有多少個線程。
在我的情況下,我有一個java程序,使用一個處理器和兩個線程,它的工作效率非常高。我提交相同的Java程序執行到每個有2個線程的許多CPU,以使它並行,因爲我沒有使用MPI。
在SGE/UGE的配置由管理員設置的,所以你必須檢查他們稱爲並行環境
qconf -spl
make
our_paraq
找到一個帶在配置
qconf -sp make
qconf -sp our_paraq
$pe_slots
與您想使用的環境和核心數量qsub
qsub -pe our_paraq 8 -cwd ./myscript
如果您使用的是mpi,則您有更多的配置分配規則($pe_slots
以上)的選擇,例如$round_robin
和$fill_up
,但這應該會讓您繼續。
如果你不告訴我們你正在使用哪個批處理系統(有幾個這樣的系統調用他們的提交命令'qsub'),這個問題是完全無法回答的。 – dmckee
對不起,我正在使用sge。編輯的問題也是如此。 – dan12345
不知道那個,所以我不能幫助。 – dmckee