Передача пакетов в кластер MPI в R - PullRequest
1 голос
/ 17 июня 2019

Я пытаюсь запустить симуляцию с использованием кластера MPI. Это хорошо работает, когда мне не нужны дополнительные пакеты. Например, я могу получить коэффициенты линейной модели с несколькими параллельными наборами данных. Но когда я пытаюсь сделать то же самое с квантильной регрессией, мне нужно использовать пакет «Quantreg». Поэтому я использую следующий код. Но система завершает работу, говоря: «Пакета под названием« Quantreg »не существует. Но все узлы имеют его. Мой администратор принял его. Я пытался использовать .package =« quantreg », но продолжаю получать ту же ошибку. очень признателен, если кто-то может предложить какое-то решение. Я также попробовал clusterApply и clusterCall безуспешно.

library("Rmpi")
library("doMPI")

mycluster <- startMPIcluster(count=12)
registerDoMPI(mycluster)


# Using parallel; you can check it with the nodename info


trials<-50

output <- foreach(a=c(.3,.5,.7), .combine = data.frame) %dopar% {

  foreach( b=icount(trials) , .combine = data.frame) %dopar% {

    set.seed(b)
    x=matrix(runif(500),100,5)
    y=rnorm(100)
    betas<-quantreg::rq(y ~ x, tau = a)$coef
    result <- c(betas, Sys.info()[c ("nodename")])

  }
}

Сценарий PBS выглядит следующим образом:

#!/bin/bash
#PBS -N AYParallel
#PBS -l nodes=2:ppn=8
#PBS -l walltime=00:05:00
#PBS -q una
# #PBS -j oe


module load R
module load mpi/mvapich2-x86_64
module load openmpi/3.0.0  

cd $PBS_O_WORKDIR

export OMP_NUM_THREADS=1


mpirun -np 1 R --file=test0.R
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...