Как запустить многоядерный MacBook Pro с 2 ядрами? - PullRequest
5 голосов
/ 08 октября 2011

Итак, этот бит кода:

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 это что-то ломает.К сожалению, я делюсь этим кодом с соавторами и поэтому не могу попросить их запустить его из терминала.В этом сообщении на форуме говорится Похоже, что эта проблема с бэкэндом doMC возникла из-за того, что я поставил "/Applications/R.app/Contents/Resources/GUI- tools.R" но я не намеренно делаю это в R.app.Есть ли способ отключить это противоречивое поведение?

Мои спецификации Mac: Также работает R GUI 2.13.1.OSX 10.7.1, doMC Версия 1.2.3 с 64-битной R.app.Также есть MB Pro 2.53 с Intel Core 2 Duo

1 Ответ

1 голос
/ 27 ноября 2011

Спросите на R-SIG-Mac, если вы хотите реальные ответы;).Это не имеет ничего общего с инструментами GUI, оно имеет отношение к циклу запуска события Cocoa в дочерних элементах - см. Многоядерный для предупреждения о GUI.Вы можете обновить до более новой многоядерной системы, которая отключает цикл обработки событий в графическом интерфейсе (если это возможно).Также избегайте любых графических вызовов Quartz в коде, который вы запускаете.

...