[英]How to realize nested parallel in R on windows platform
我嘗試在R中的並行包中使用parApply()
。
cl <- makeCluster(16)
cl.boot <-makeCluster(8)
在我的程序中,我首先調用t(parApply(cl,rv,1,sim.one.test))
。 在函數sim.one.test
,調用函數boot()
。 在boot()
,我使用
bs.resample <- t(parApply(cl.boot,rv.boot,1,function(x) bs.mle(n1,n2,x,s,t1,t2,m,theta)))
簡單來說,外部函數是sim.one.test()
,內部函數是bs.mle()
。 錯誤信息是invalid connection
。 我猜這是因為不支持嵌套並行。 關於stackoverflow的另一個問題 ,建議我應該使用mcapply()
,它只能在Linux上應用,但是我在Windows平台上運行該程序。 Windows平台上是否有用於嵌套並行計算的解決方案? 謝謝。
為什么您認為需要嵌套並行化? 那只會增加您的並行化開銷(如果它可以工作的話,我懷疑)。 從概念上講,最好僅並行化外循環(前提是它包含足夠的迭代次數,或多或少地實現負載平衡)。
但是,您可以將嵌套的foreach
循環與並行后端一起使用。 這會將嵌套循環轉換為一個循環,然后再將其發送給工作程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.