2011-11-11 16 views

risposta

23

Sì, per i principianti, vedere la Vista attività High Performance Computing su CRAN. Elenca i dettagli dei pacchetti che possono essere utilizzati a supporto del calcolo parallelo su una singola macchina.

Da R versione 2.14.0, v'è il supporto integrato per il calcolo parallelo tramite il pacchetto parallelo, che comprende versioni leggermente modificate del esistenti neve e multicore pacchetti. Il pacchetto parallelo ha una vignetta da leggere. Si può vederlo con:

vignette(package="parallel", topic = "parallel") 

ci sono altri modi per sfruttare i vostri core multipli, ad esempio attraverso l'uso di un BLAS multi-threaded per i calcoli di algebra lineare.

Se tutto ciò accelera i "calcoli statistici" che si desidera fare dipenderà da cosa sono quei "calcoli statistici". Generare più thread o worker comporta un costo generale per impostarli, gestirli e raccogliere i risultati. Alcune operazioni vedono un vantaggio (alcuni grandi, alcuni piccoli) nell'utilizzo di più core/thread, altri sono rallentati a causa di questo overhead aggiuntivo.

In breve, non si aspettano di ottenere un n volte diminuiscono nel tempo di calcolo utilizzando n core invece di appena 1.

+0

Si noti che per visualizzare la vignetta, potrebbe essere necessario fare 'vignette (package =" parallel ", topic =" parallel ")'. Per me, se non aggiungo 'topic =' elenca solo la vignetta. –

+0

@XuWang Sì, davvero. Intendevo dire che puoi elencarlo tramite quel codice: non ricordavo il nome dell'argomento e devo ancora passare alla 2.14.0 in ufficio. Essere solo pigri. Ma modificherà quanto sopra. Grazie. –

+0

Nessun problema. A giudicare dalle tue molte risposte dettagliate, sei l'opposto del pigro! –

9

Se vi capita di fare poche iterazioni * della stessa cosa (o lo stesso codice per pochi * diversi parametri), il modo più semplice per procedere è eseguire diverse copie di R - OS per allocare il lavoro su diversi core.
Nel caso opposto, vai e scopri come utilizzare le estensioni parallele reali.

Per motivi di questa risposta, pochi mezzi meno o uguale al numero di core.

Problemi correlati