2013-10-31 152 views
2

我在24核心的單臺機器上運行帶開放式MPI的轉矩。爲什麼可以在我的作業中指定sh,例如nodes = 1:ppn:2並仍然能夠運行由mpirun -np指定的作業12 WhatEverCommand?在這種情況下,作業在12個內核上執行,即使「節點」表示2個cpus。 未指定「節點」選項會對提交的作業使用的資源有任何限制嗎?如果沒有,那麼如何通過覆蓋聲明的資源來防止用戶違反服務器規則?另一方面 - 指定節點= 1:ppn = 8和不帶「-np」選項的mpirun,僅給我1個cpu運行作業。轉矩+ mpirun +資源分配

我是那麼糟糕,錯過了一些根本的東西嗎?

回答

2

默認情況下,OpenMPI根本不與Torque集成。您必須使用--with-tm配置選項來編譯OpenMPI,該選項在大多數發行版軟件包中似乎未啓用。 OpenMPI項目在其關於buildingrunning OpenMPI的常見問題中提到了扭矩集成。

類似地,除非啓用cpuset support,否則轉矩並不實際限制對CPU的訪問。再次,這在大多數發行版軟件包中似乎不存在。這就是爲什麼當您的OpenMPI應用程序在沒有與Torque集成的情況下編譯時,可以無限制地訪問所有內核。

從源代碼構建這兩個軟件包並不難,所以值得研究配置選項並構建對您有意義的支持。