如何在具有2个内核的macbook pro上运行多核?

时间:2011-10-07 22:00:40

标签: r multicore

所以这段代码:

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看起来好像这个doMC后端的问题来自于我一直在寻找“/Applications/R.app/Contents/Resources/GUI- tools.R”但我并非故意在R.app中这样做。有没有办法解决这种冲突的行为?

我的Mac规格:还运行R GUI 2.13.1。 OSX 10.7.1,带有64位R.app的doMC版本1.2.3。还有一个带有Intel Core 2 Duo的MB Pro 2.53

1 个答案:

答案 0 :(得分:1)

如果你想要真正的答案,请在R-SIG-Mac上询问;)。这与GUI工具无关,它与子代中的Cocoa运行事件循环有关 - 请参阅?multicore以获取有关GUI的警告。您可能希望更新到更新的多核,它会禁用GUI中的事件循环(如果可能)。还要避免在您运行的代码中进行任何Quartz图形调用。