2011-10-07 108 views
5

因此該位的代碼:如何在2核心的macbook pro上運行多核?

library(plyr) 
library(doMC) 
registerDoMC(cores=2) 
x=1:100 
llply(x, some_function, .parallel=TRUE) 

失敗,像這樣的錯誤:

__THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__() 

當我從終端運行R中的誤差消失。所以這是關於GUI的東西,它打破了它。不幸的是,我與合作者分享這些代碼,所以我不能要求他們從終端運行它。這forum post它看起來好像這個問題w/doMC後端來自我一直在採購「/Applications/R.app/Contents/Resources/GUI- tools.R」,但我不是故意在做這件事R.app。有什麼辦法可以關閉這種衝突的行爲嗎?

我的Mac規格:同時運行R GUI 2.13.1。 OSX 10.7.1,帶64bit R.app的doMC版本1.2.3。還有一個MB Pro 2.53與英特爾Core 2 Duo

+0

您正在從原始GUI運行此代碼,對吧? –

+0

無法在R 2.13.1中使用OSX 10.5.8在64bit中使用doMC ver 1.2.3重新生成R.app –

+0

我應該添加到我的設置說明中:M​​acBookPro5,3 w/Intel Core 2 Duo(...和你應該添加你的描述。) –

回答

1

問R-SIG-Mac如果你想真正的答案;)。這與GUI工具無關,它與兒童中的Cocoa運行事件循環有關 - 請參閱多核以獲取有關GUI的警告。您可能想要更新到更新的多核,這會禁用GUI中的事件循環(如果可能)。還要避免在您運行的代碼中進行任何Quartz圖形調用。