簡體   English   中英

如何在Windows平台上的R中實現嵌套並行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM