Я использую HPC с TORQUE/MOAB/RHEL 6.7. Соответствующие строки в jobscript PBS являютсяmakeMPIcluster под TORQUE: Недостаточно доступных слотов
#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
В моей R программе у меня есть:
library(Rmpi)
library(snow)
cl <- makeMPIcluster(mpi.universe.size())
Я могу видеть, что размер Вселенной MPI является правильным (8 в этом примере), но программа с сообщением об ошибке «Недостаточно доступных слотов». Тем не менее, он хорошо работает, если я прошу одного меньше рабочих:
cl <- makeMPIcluster(mpi.universe.size() - 1)
Но теперь у меня есть только 7 рабочих (Я испытал это), так что один из ядер процессора не занимаются ничем производительным ...
R CMD config CC
дает мне всего mpicc
, я не могу найти что-либо релевантное в остальной части конфигурации.
Любые идеи, как я могу использовать все выделенные процессоры? Я начинаю с mpirun и все такое ... Я работаю, когда на другом сервере без планировщика. Я также смог использовать все выделенные процессоры с пакетом pbdMPI
.
Одно предположение, 'mpirun -np 1' запущен 1 процессор в удаленного вызова узел для запуска R-скрипта, и он задействовал 1 ядро, а затем в R-core вы снова создаете 8. Таким образом, не хватает ядер. – Patric
Спасибо, я тоже что-то думал об этом. Но добавление 'includemaster = TRUE' в' makeMPIcluster', похоже, ничего не меняло. Я также не смог найти какую-либо документацию для этой опции или более подробную информацию о том, как будет настроен кластер MPI. –
Вы могли бы попробовать только запустить rscript pbs без mpirun или не привязываться к ядру? – Patric