Procesamiento de datos acelerado por GPU para R en Windows

11

Actualmente estoy tomando un artículo sobre Big Data que nos tiene utilizando R en gran medida para el análisis de datos. Resulta que tengo una GTX1070 en mi PC por razones de juego. Por lo tanto, pensé que sería genial si pudiera usar eso para acelerar parte del procesamiento de algunas de las cosas que mis profesores me hacen hacer, pero realmente no parece fácil hacerlo. He instalado gpuR, CUDA, Rtools y algunos otros bits y bobs, y puedo conseguir que cree objetos gpuMatrix a partir de datos de expresión genómica, por ejemplo, pero todavía tengo que encontrar una función que funcione con los objetos gpuMatrix y también proporciona una diferencia notable en el rendimiento. Quizás esto solo se relaciona con las limitaciones inherentes al paquete gpuR: algunos otros paquetes parecen hablar de tener funciones que suenan más como el tipo de cosas que estoy buscando,

Casi todos esos paquetes son exclusivamente para Linux, ¿es particularmente difícil implementar el soporte de GPU para R en Windows? ¿O hay alguna otra razón por la que hay tan pocos paquetes disponibles para hacer esto en Windows? En cierto sentido solo tengo curiosidad, pero también sería genial hacer que realmente funcione. Me sorprende que haya tan poco disponible para Windows, generalmente es al revés.

Jesse Maher
fuente
1
He encontrado que la informática de GPU en Windows es un desafío, independientemente del lenguaje de programación. Las herramientas tienden a desarrollarse en Linux u OS X. Podría probar un sistema de arranque dual con, por ejemplo, Linux Mint Cinnamon (mi distribución favorita en este momento, porque todo funciona).
Adrian Keister

Respuestas:

4

Desde mi experiencia, configurar el procesamiento de GPU para R es difícil, configurarlo en una máquina Windows es aún más difícil. Además, el procesamiento de GPU solo se puede utilizar para tipos de cálculos muy específicos.

Si solo desea configurar el procesamiento de la GPU por el bien, entonces mi respuesta es bastante inútil.

Sin embargo, si le importa la optimización del rendimiento general de su sistema y su código, le aconsejo que consulte los siguientes pasos:

  • Use Microsoft R Open en lugar de Base R porque habilita automáticamente el procesamiento multinúcleo en su máquina.

  • Vectoriza tu código

  • Use bibliotecas como data.table en lugar de dataframes

  • Evitar objetos en crecimiento

En general, el rendimiento de R depende en gran medida de la calidad de su código. Patrick Burns proporciona un resumen muy bueno sobre lo que puede y debe hacer en R Inferno .

jd1338
fuente
Gracias por el comentario. Cambié la respuesta en consecuencia.
jd1338
Entonces mi comentario ya no es útil.
42-