[R-es] Problema con Rmpi

miguel.angel.rodriguez.muinos en sergas.es miguel.angel.rodriguez.muinos en sergas.es
Jue Jun 10 12:06:11 CEST 2010


Hola Paco.

No tengo demasiada experiencia con Rmpi (salvo un pequeño taller de paralelización de hace algún tiempo)... De todas formas, te paso alguna idea que igual puede ayudarte... tu error tiene pinta de producirse porque tu cluster no tiene "habilitado" MPI_Comm_spawn y eso no te permite utilizar mpi.spawn.Rslaves() para crear el proceso dinámicamente.

Yo le echaría un ojo a http://aloft.ctex.org/wiki/RPackageRmpiInstallation 

Una pregunta...Estas intentando hacer computación en paralelo en un cluster o en una máquina individual con varios cores? 
Lo digo porque en cluster yo creo que lo mejor es usar MPI o PVM (mejor la primera opción), y eso nos lleva al Rmpi -con papply es perfecto-, pero en una máquina multicore podrías probar soluciones más sencillas (por lo menos para empezar). 

Hay una solución basada en sockets, llamada snowfall, no tiene la "potencia" de MPI pero aporta facilidad de uso; además de que puedes "simular" los cores que quieras, no tienen que existir necesariamente (eso no tiene sentido si lo que queremos es ganar tiempo de computación pero te permite "probar" en máquinas que no tengan la configuración "final", por ejemplo).

La idea es usar snowfall

>library(snowfall)

montar las condiciones iniciales (ej. con 4 cores)

>sfInit(parallel=TRUE, cpus=4, type="SOCK")

Y empezar a trabajar.

...Por ejemplo definir dos variables y enviar réplicas de ellas a todos los núcleos...

> v1<-1:100
> v2<-101:200
> sfExport("v1","v2")

>sfClusterEval(v1)  
>SfClusterApplyLB(1:50,function(i) {v1[i]*v2[i]})  ## el LB es para indicarle que use balanceo de carga

... Bueno, es una idea.


Un Saludo,
Miguel Ángel Rodríguez Muíños
Servicio de Epidemioloxía
Dirección Xeral de Saúde Pública e Planificación
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 Paco Pastor
Enviado el: jueves, 10 de junio de 2010 10:33
Para: r-help-es en r-project.org
Asunto: [R-es] Problema con Rmpi

Hola a todos, este es mi primer mensaje a la lista.

Escribo para preguntar si alguien tiene experiencia usando el paquete Rmpi para trabajar en procesadores en paralelo. Tras instalarlo me da un mensaje de error inmediatamente. Os pego el mensaje que he enviado a la lista en inglés.

 > library("Rmpi")
 > mpi.spawn.Rslaves()
Error en mpi.spawn.Rslaves() : You cannot use MPI_Comm_spawn API

Seaching in the list I have found references to this problem but not the solution. More info about R and MPICH installation in my system (Ubuntu Hardy Heron in a dual AMD Athlon PC) can be found in http://ubuntuone.com/p/6Wr/

Gracias

--
---------------------------------------------------------------
Francisco Pastor
Meteorology department
Fundación CEAM
paco en ceam.es
http://www.ceam.es/ceamet - http://www.ceam.es Parque Tecnologico, C/ Charles R. Darwin, 14 46980 PATERNA (Valencia), Spain Tlf. 96 131 82 27 - Fax. 96 131 81 90
---------------------------------------------------------------
Usuario Linux registrado: 363952

_______________________________________________
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 

XACOBEO 2010: http://www.xacobeo.org



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