Я пытаюсь запустить симуляцию с использованием кластера 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