[R-es] usar multiples procesadores en R

miguel.angel.rodriguez.muinos en sergas.es miguel.angel.rodriguez.muinos en sergas.es
Mie Mar 2 10:34:37 CET 2011


Hola Javier.

El tema de la paralelización con R es apasionante y nada trivial.

En primer lugar hay que tener muy claro qué se pretende hacer para optar por una solución adecuada.
Existen varios métodos como MPI, PVM, sockets, ...
Sin entrar en detalles farragosos te recomiendo que utilices una solución basada en sockets (ya que parece que pretendes usar el multicore de un equipo y no un cluster de máquinas o procesadores). Esta solución creo que es la mejor para trabajar con los cores de nuestra máquina y facilita mucho la programación.

Llegado a este punto creo que debes conocer la existencia de snowfall
http://cran.es.r-project.org/web/packages/snowfall/index.html

Imagina que quieres iniciar un proceso en 2 cores de tu máquina:
## Iniciamos el proceso;
sfInit(parallel=TRUE, cpus=2, type="sock")
sfClusterSetupRNG()
sfClusterApply(1:2, rnorm) ## El 1º da 1 elemento, el 2º da 2 elementos
SfClusterApply(1:2, function(x) rnorm(1)) ## llama a rnorm(1) en cada uno de los nodos
.....
## Si queremos usar balanceo de carga...
sfClusterApplyLB(1:2, function(x) rnorm(1))
.....

Un buen comienzo es echarle un ojo a los ejemplos que Knaus ofrece en la documentación del paquete.


Un Saludo,
========================================================
Miguel Ángel Rodríguez Muíños
Dirección Xeral de Innovación e Xestión da Saúde Pública
Consellería de Sanidade
Xunta de Galicia
========================================================







-----Mensaje original-----
De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r-project.org] En nombre de Javier Martinez Lopez
Enviado el: martes, 01 de marzo de 2011 16:05
Para: r-help-es en r-project.org
Asunto: [R-es] usar multiples procesadores en R

Hola a tod en s,

estoy realizando unas operaciones con muchos datos con el paquete "vegan", concretamente la función "metaMDS" y me gustaría saber si puedo usar más de un procesador a la vez para acelerar los cálculos.
He visto el paquete "multicore" pero no sé usarlo, ¿alguien lo ha usado para algo así?

Gracias y saludos,

Javier

--
http://oikos.inf.um.es

_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, por favor elimínea. A distribución ou copia desta mensaxe non está autorizada.

Nota: La información contenida en este mensaje y sus posibles documentos adjuntos es privada y confidencial y está dirigida únicamente a su destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, por favor elimínelo. La distribución o copia de este mensaje no está autorizada.

See more languages: http://www.sergas.es/aviso_confidencialidad.htm



Más información sobre la lista de distribución R-help-es