0
我使用的是TORQUE/MOAB/RHEL 6.7的HPC。在PBS jobscript相關線是TORQUE下的makeMPIcluster:沒有足夠的插槽可用
#PBS -l nodes=1:ppn=8,mem=12gb
module load r_3.2.0
module load icc_14.0.3-ompi_1.8.3
mpirun -np 1\
--mca mtl mx --mca pml cm --bind-to core --map-by core\
Rscript >>dice.txt 2>&1 diceEstimate4i_parallel.R
以我ř程序我有:
library(Rmpi)
library(snow)
cl <- makeMPIcluster(mpi.universe.size())
我可以看到,MPI宇宙的大小是正確的(8在此示例中),但是該程序錯誤消息「沒有足夠的插槽可用」失敗。然而,它工作得很好,如果我問一個工人少:
cl <- makeMPIcluster(mpi.universe.size() - 1)
但現在我只有7名工人(我已經測試過),所以處理器內核中的一個在任何生產不從事...
R CMD config CC
只給我mpicc
,在配置的其餘部分我找不到任何相關的東西。
任何想法如何使用所有分配的cpus?我是mpirun和所有那些的初學者......我在不同的服務器上使用w/o調度程序時工作。我也可以使用pbdMPI
包中的所有分配的cpus。
一個猜測,'-np的mpirun在1'遠程的推出1個處理器節點運行R腳本並使用1個內核,然後在R內核中再次創建8個內核。所以,沒有足夠的內核。 – Patric
謝謝,我也想到了這些方面的內容。但是在'makeMPIcluster'中添加'includemaster = TRUE'似乎沒有任何改變。我也無法找到該選項的任何文檔,或更詳細的信息將如何建立MPI集羣。 –
你可以嘗試只發射rsbs由pbs沒有mpirun或不綁定到核心我猜? – Patric