2012-03-22 79 views
2

是否有可能在R中執行併發編程?例如,使用while(TRUE)同時循環運行2個函數。R - 並行編程

+0

你想做什麼,這聽起來像一個相當古怪的方式使用R. – Hansi 2012-03-22 10:09:25

+1

爲什麼這很奇怪? OP沒有說明他爲什麼要這樣做,但我可以想到幾個很好的理由。 – 2012-03-22 10:43:55

+0

1.使用'repeat'而不是'while(TRUE)'。 2.在R中執行並行計算的方法很多。請參閱HPC任務視圖。 http://cran.r-project.org/web/views/HighPerformanceComputing.html – 2012-03-22 11:19:58

回答

7

雪,RMPI,和PVM包都支持這個差不多十年前,最初是跨越計算機,也是在多CPU或多核機器上。

多核程序包增加了在多核機器上執行此操作的功能。

從R 2.14.0開始,並行程序包在基本R分佈中捆綁了雪和多核的部分。這可能是你現在最好的起點。

R本身的一些部分也使用多線程編程,但由於一些不太可能被解除的體系結構限制,該方法受到限制。

幾年前我們寫了一個survey paper on parallel programming with R這仍然是相關的。

+0

https://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&ved=0CEMQtwIwAg&url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv %3DcN_DpYBzKso&EI = TAGvUoudB4KGrAemiIGACw&USG = AFQjCNFHSCJL1RjuO-F7kj8qTL5eKoWkeQ&SIG2 = r7lbvYm4M3Qyvk3LYmVLew&BVM = bv.57967247,d.bmk – xiaodai 2013-12-16 13:34:16