¿Quién usa R con el paquete multinúcleo, SNOW o CUDA para la computación intensiva en recursos?


16

¿Quién de ustedes en este foro usa "> R con el multinúcleo , paquetes de nieve o CUDA , entonces para cálculos avanzados que necesitan más potencia que una CPU de estación de trabajo? ¿En qué hardware calculan estos scripts? ¿En casa / trabajo o tienen acceso al centro de datos en alguna parte?

El trasfondo de estas preguntas es el siguiente: actualmente estoy escribiendo mi M.Sc. tesis sobre R y computación de alto rendimiento y necesito un conocimiento sólido sobre quién realmente usa R. Leí que R tenía 1 millón de usuarios en 2008, pero esa es más o menos la única estadística de usuario que pude encontrar sobre este tema, así que espero su respuestas!

Sinceramente Heinrich


Una posible pregunta relacionada, stats.stackexchange.com/questions/825/… .
chl

Respuestas:


6

Soy un biólogo que modela los efectos de la variación climática interanual en la dinámica de la población de varias especies migratorias. Mis conjuntos de datos son muy grandes (datos espacialmente intensivos), por lo que ejecuto mi código R multicoreen servidores Amazon EC2. Si mi tarea es particularmente intensiva en recursos, elegiré una instancia Cuádruple extra grande de memoria alta que viene con 26 unidades de CPU, 8 núcleos y 68G de RAM. En este caso, generalmente ejecuto 4-6 scripts simultáneamente, cada uno de los cuales funciona a través de un conjunto de datos bastante grande. Para tareas más pequeñas, elijo servidores con 4-6 núcleos y aproximadamente 20 gigas de RAM.

Lanzo estas instancias (generalmente instancias puntuales porque son más baratas pero pueden finalizar en cualquier momento que la tarifa actual exceda lo que he elegido pagar), ejecuto el script durante varias horas y luego finalizo la instancia una vez que mi script ha finalizado. En cuanto a la imagen de la máquina (Amazon Machine Image), tomé otra instalación de Ubuntu, actualicé R, instalé mis paquetes y la guardé como mi AMI privada en mi espacio de almacenamiento S3.

Mi máquina personal es una MacBook Pro dualcore y tiene dificultades para bifurcar llamadas multinúcleo. No dude en enviar un correo electrónico si tiene otras preguntas.


¿Puedes decir cuál es el tamaño de tu conjunto de datos?
suncoolsu

Seguro. Los conjuntos de datos con los que estoy trabajando actualmente son ~ 14 conciertos
Maiasaura

4

Como me preguntas, estoy usando el paquete foreach con el backend multinúcleo . Lo uso para dividir una carga de trabajo vergonzosamente paralela en varios núcleos en una sola caja Nehalem con mucha RAM. Esto funciona bastante bien para la tarea en cuestión.


¡Gracias por tu respuesta! ¿Hace el cálculo para su trabajo / investigación académica o para sus propios proyectos en una PC?
Heinrich el

Esto se hace en un entorno comercial. Para esta tarea, estoy usando una única caja Intel con 32 GB de RAM y discos RAID (la principal dificultad es una gran cantidad de datos, mientras que el procesamiento en sí no es muy exigente desde el punto de vista informático).
NPE

Muy bien @aix, con qué frecuencia realiza estos cálculos. ¿Está su caja funcionando todo el día o más inactiva?
Heinrich el

Pregunta rápida a @NPE: ¿en qué sistema almacena los datos? ¿Utiliza una base de datos de fondo?
nassimhddd

3

Trabajo en la academia y estoy usando multinúcleo para algunos puntos de referencia pesados ​​de algoritmos de aprendizaje automático, principalmente en nuestra Sun Constellation basada en Opteron y algunos grupos más pequeños; estos también son problemas bastante vergonzosos y paralelos, por lo que el papel principal de varios núcleos es distribuir la computación sobre el nodo sin multiplicar el uso de la memoria.


Aquí en Hamburgo siempre tenemos el problema de que el tiempo de espera para los centros de datos académicos es realmente largo. ¿Es lo mismo para ti?
Heinrich el

@Heinrich Trabajo para una especie de centro de datos académicos, por lo que no tengo tales problemas (- En serio, en Varsovia el suministro de tiempo científico de la CPU es mayor que la demanda, por lo que creo que es bastante fácil obtener una subvención. Y Creo que se debe tratar de D-Grid o EGEE, mi experiencia es que las redes en general están muy infrautilizados.

Oh. Eso es interesante. ¿Sabe en qué tipo de empresas se utiliza R en estas extensiones?
Heinrich el

2

Uso nieve y nevadas para la paralelización del curso en clústeres HPC y CUDA para el procesamiento paralelo de datos finos. Estoy en Epidemiología haciendo modelos de transmisión de enfermedades. Entonces uso ambos.


Gracias por tu información. ¿Qué quieres decir con paralelización de cursos?
Heinrich

La paralelización del curso sería algo así como ejecuciones independientes de un cambio MCMC., Es decir, mandriles muy grandes que pueden ejecutarse en paralelo sin sincronizar hilos. Un ejemplo de grano fino es calcular la probabilidad de que los cálculos se puedan realizar en los puntos de datos de forma independiente.
Andrew Redd
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.