2013-03-26 11 views
8

मैं doSNOW के बजाय समानांतर संचालन के लिए आर में parallel पैकेज का उपयोग करने की कोशिश कर रहा हूं क्योंकि यह अंतर्निहित और स्पष्ट रूप से जिस तरह से आर परियोजना चीजों को जाना चाहता है। मैं कुछ गलत कर रहा हूं कि मैं हालांकि पिन नहीं कर सकता। उदाहरण के लिए यह लें:क्यों plyr पैकेज मेरे समानांतर बैकएंड का उपयोग नहीं करता है?

a <- rnorm(50) 
b <- rnorm(50) 

arr <- matrix(cbind(a,b),nrow=50) 

aaply(arr,.margin=1,function(x){x[1]+x[2]},.parallel=F) 

यह मेरे दो कॉलम की रकम का उत्पादन करने के ठीक ठीक काम करता है। लेकिन अगर मैं समानांतर पैकेज में लाने के लिए प्रयास करें:

library(parallel) 
nodes <- detectCores() 
cl <- makeCluster(nodes) 
setDefaultCluster(cl) 

aaply(arr,.margin=1,function(x){x[1]+x[2]},.parallel=T) 

यह त्रुटि

2: In setup_parallel() : No parallel backend registered 
3: executing %dopar% sequentially: no parallel backend registered 

मैं बैकएंड गलत आरंभ कर रहा हूँ फेंकता है?

+0

इस पोस्ट को देखने वाले किसी भी व्यक्ति के लिए, मैंने लंबे समय से DoParallel के पक्ष में समानांतर छोड़ दिया है, जो कि बस कार्य लगता है। –

उत्तर

23

इस स्थापना का प्रयास करें। नतीजा वैसे भी सही है।

-1

aaply राज्यों

.parallel के लिए दस्तावेज़: अगर 'TRUE', समानांतर में समारोह लागू होते हैं, foreach द्वारा प्रदान की समानांतर बैकएंड का उपयोग कर

तो शायद आप foreach पैकेज का उपयोग करने की आवश्यकता है parallel पैकेज के बजाए।

library(doParallel) 
library(plyr) 

nodes <- detectCores() 
cl <- makeCluster(nodes) 
registerDoParallel(cl) 

aaply(ozone, 1, mean,.parallel=TRUE) 

stopCluster(cl) 

जब से मैं समानांतर कंप्यूटिंग के लिए plyr इस्तेमाल नहीं किया है मैं पता नहीं ऐसा क्यों जारी करता है चेतावनी है:

संबंधित मुद्दे