이제 대용량 데이터 집합을 처리하고 있으며 병렬 처리를 사용하여 처리 속도를 높이고 싶습니다. WestGird는 클러스터가 상호 연결되어있는 캐나다 컴퓨팅 시스템입니다.WestGrid (pbs 파일)에서 R로 표시된 MPI 클러스터 기반 병렬 계산
병렬 작업을 수행하는 데 두 개의 패키지 doSNOW
및 parallel
을 사용합니다. 제 질문은 pbs
파일을 작성하는 방법입니다. qsub
을 사용하여 작업을 제출하면 오류가 발생합니다 : mpirun noticed that the job aborted, but has no info as to the process that caused that situation
.
install.packages("fume_1.0.tar.gz")
library(fume)
library(foreach)
library(doSNOW)
load("spei03_df.rdata",.GlobalEnv)
cl <- makeCluster(mpi.universe.size(), type='MPI')
registerDoSNOW(cl)
MK_grid <-
foreach(i=1:6000, .packages="fume",.combine='rbind') %dopar% {
abc <- mkTrend(as.matrix(spei03_data)[i,])
data.frame(P_value=abc$`Corrected p.value`, Slope=abc$`Sen's Slope`*10,Zc=abc$Zc)
}
stopCluster(cl)
save(MK_grid,file="MK_grid.rdata")
mpi.exit()
은 "연기"패키지 https://cran.r-project.org/src/contrib/Archive/fume/에서 다운로드 할 수 있습니다 : 여기
는 R 스크립트 코드입니다.#!/bin/bash
#PBS -l nodes=2:ppn=12
#PBS -l walltime=2:00:00
module load application/R/3.3.1
cd $PBS_O_WORKDIR
export OMP_NUM_THREADS=1
mpirun -np 1 -hostfile $PBS_NODEFILE R CMD BATCH Trend.R
누군가가 도와 드릴까요 : 여기
는 PBS 파일입니다? 고마워.