2011-10-07 7 views
5

Więc ten kawałek kodu:Jak uruchomić procesor wielordzeniowy na komputerze Macbook Pro z 2 rdzeniami?

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

nie powiedzie się z powodu błędu tak:

__THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__() 

błąd znika po uruchomieniu R od terminalu. To coś o GUI, który je zepsuje. Niestety, udostępniam ten kod współpracownikom, więc nie mogę poprosić ich o uruchomienie go z terminala. Ten forum post mówi: Wygląda na to, że ten problem z backendem doMC pochodził z mojego źródła "/Aplikacje/R.app/Contents/Resources/GUI-tools.R", ale nie zamierzam tego robić w R.app. Czy istnieje sposób, aby wyłączyć to sprzeczne zachowanie?

Moja specyfikacja Mac: uruchomiona jest również grafika w języku R 2.13.1. OSX 10.7.1, doMC wersja 1.2.3 z 64-bitowym programem R.app. Również MB Pro 2.53 z Intel Core 2 Duo

+0

Używasz tego kodu z nieprzetworzonego GUI, prawda? –

+0

Nie można odtworzyć w wersji 2.13.1 z OS X 10.5.8, używając doMC ver 1.2.3 w 64-bitowej wersji R.app –

+0

Prawdopodobnie powinienem dodać do mojego opisu instalacji: MacBookPro5,3 w/Intel Core 2 Duo (... powinieneś dodać do swojego opisu.) –

Odpowiedz

1

Zapytaj na R-SIG-Mac, jeśli chcesz uzyskać prawdziwe odpowiedzi;). Nie ma to nic wspólnego z narzędziami GUI, ma to związek z pętlą uruchomieniową kakao w dzieciach - patrz "wielordzeniowy" dla ostrzeżenia o GUI. Możesz chcieć zaktualizować do nowszej wersji wielordzeniowej, która wyłącza pętlę zdarzeń w GUI (jeśli to możliwe). Unikaj także wywołań graficznych kwarcu w uruchomionym kodzie.

Powiązane problemy