Traitement accéléré des données GPU pour R dans Windows

11

Je prends actuellement un article sur le Big Data qui nous fait utiliser R fortement pour l'analyse des données. Il se trouve que j'ai un GTX1070 dans mon PC pour des raisons de jeu. Ainsi, je pensais que ce serait vraiment cool si je pouvais utiliser cela pour accélérer une partie du traitement de certaines choses que mes professeurs m'ont fait, mais cela ne semble vraiment pas facile du tout. J'ai installé gpuR, CUDA, Rtools et quelques autres bits et bobs, et je peux l'obtenir pour créer des objets gpuMatrix à partir de données d'expression génomique, par exemple, mais je n'ai pas encore trouvé de fonction qui fonctionne à la fois avec les objets gpuMatrix et fournit également toute différence notable dans les performances. Peut-être que cela ne concerne que les limitations inhérentes au paquet gpuR - certains autres paquets semblent parler d'avoir des fonctions qui sonnent plus comme le genre de chose que je recherche,

Presque tous ces packages sont exclusivement pour Linux, est-il particulièrement difficile d'implémenter le support GPU pour R dans Windows? Ou existe-t-il une autre raison pour laquelle il existe si peu de packages disponibles pour ce faire dans Windows? Dans un certain sens, je suis simplement curieux, mais ce serait aussi très cool de vraiment le faire fonctionner. Cela m'étonne qu'il y ait si peu disponible pour Windows, généralement c'est l'inverse.

Jesse Maher
la source
1
J'ai trouvé que l'informatique GPU dans Windows était difficile, quel que soit le langage de programmation. Les outils ont tendance à être développés sous Linux ou OS X. Vous pouvez essayer un système à double démarrage avec, par exemple, Linux Mint Cinnamon (ma distribution préférée en ce moment, car tout fonctionne).
Adrian Keister

Réponses:

4

D'après mon expérience, la configuration du traitement GPU pour R est difficile, la configuration sur une machine Windows est encore plus difficile. De plus, le traitement GPU ne peut être utilisé que pour des types de calculs très spécifiques.

Si vous voulez simplement configurer le traitement GPU pour le plaisir, ma réponse est tout à fait inutile.

Si toutefois vous vous souciez de l'optimisation générale des performances de votre système et de votre code, je vous conseille de vérifier les étapes suivantes:

  • Utilisez Microsoft R Open au lieu de Base R car il active automatiquement le traitement multicœur sur votre machine.

  • Vectorisez votre code

  • Utilisez des bibliothèques telles que data.table au lieu de dataframes

  • Évitez de faire pousser des objets

En général, les performances de R dépendent fortement de la qualité de votre code. Un très bon résumé de ce que vous pouvez et devez faire est fourni dans R Inferno par Patrick Burns.

jd1338
la source
Merci pour le commentaire. j'ai changé la réponse en conséquence.
jd1338
Alors mon commentaire n'est plus utile.
42-