Qui utilise R avec un package multicœur, SNOW ou CUDA pour un calcul intensif en ressources?

16

Qui de vous dans ce forum utilise "> R avec le multicœur , les packages snow ou CUDA , donc pour des calculs avancés qui nécessitent plus de puissance qu'un processeur de station de travail? Sur quel matériel calculez-vous ces scripts? À la maison / au travail ou avez-vous accès au centre de données quelque part?

Le contexte de ces questions est le suivant: j'écris actuellement mon M.Sc. thèse sur R et le calcul haute performance et j'ai besoin d'une bonne connaissance de qui utilise réellement R. J'ai lu que R avait 1 million d'utilisateurs en 2008, mais c'est plus ou moins la seule statistique utilisateur que j'ai pu trouver sur ce sujet - alors j'espère pour votre réponses!

Cordialement Heinrich

Heinrich
la source
Une question connexe possible, stats.stackexchange.com/questions/825/… .
chl
Copie
Joshua Ulrich

Réponses:

6

Je suis un biologiste qui modélise les effets des variations climatiques interannuelles sur la dynamique des populations de plusieurs espèces migratrices. Mes ensembles de données sont très volumineux (données spatialement intensives), donc j'exécute mon code R à l'aide multicorede serveurs Amazon EC2. Si ma tâche est particulièrement gourmande en ressources, je choisirai une instance High Memory Quadruple Extra Large qui comprend 26 unités centrales, 8 cœurs et 68 Go de RAM. Dans ce cas, j'exécute généralement 4-6 scripts simultanément, chacun travaillant à travers un ensemble de données assez volumineux. Pour les petites tâches, je choisis des serveurs avec 4-6 cœurs et environ 20 Go de RAM.

Je lance ces instances (généralement des instances ponctuelles car elles sont moins chères mais peuvent se terminer à tout moment si le taux actuel dépasse ce que j'ai choisi de payer), exécuter le script pendant plusieurs heures, puis terminer l'instance une fois mon script terminé. En ce qui concerne l'image de la machine (Amazon Machine Image), j'ai pris quelqu'un d'autre pour installer Ubuntu, mis à jour R, installé mes packages et enregistré cela en tant qu'AMI privée sur mon espace de stockage S3.

Ma machine personnelle est un macbook pro dualcore et elle a du mal à passer des appels multicœurs. N'hésitez pas à envoyer un courriel si vous avez d'autres questions.

Maiasaura
la source
Pouvez-vous indiquer quelle est la taille de votre ensemble de données.
suncoolsu
Sûr. Les ensembles de données avec lesquels je travaille actuellement sont de ~ 14 concerts
Maiasaura
4

Depuis que vous demandez, j'utilise le package foreach avec le backend multicœur . Je l'utilise pour répartir une charge de travail parallèle embarrassante sur plusieurs cœurs sur une seule boîte Nehalem avec beaucoup de RAM. Cela fonctionne assez bien pour la tâche à accomplir.

NPE
la source
Merci pour votre réponse! Faites-vous le calcul pour votre travail / recherche académique ou pour vos propres projets sur un propre PC?
Heinrich
Cela se fait dans un cadre commercial. Pour cette tâche, j'utilise une seule boîte Intel avec 32 Go de RAM et des disques RAID (la principale difficulté est beaucoup de données, tandis que le traitement lui-même n'est pas très exigeant en termes de calcul.)
NPE
Très bien @aix, à quelle fréquence effectuez-vous ces calculs. Votre box fonctionne-t-elle toute la journée ou est-elle plus inactive?
Heinrich
Question rapide à @NPE: dans quel système stockez-vous les données? utilisez-vous un back-end de base de données?
nassimhddd
3

Je travaille dans l'académie et j'utilise le multicœur pour certains repères lourds d'algorithmes d'apprentissage automatique, principalement sur notre constellation Sun basée sur Opteron et certains clusters plus petits; il s'agit également de problèmes parallèles assez embarrassants, de sorte que le rôle principal du multicœur est de répartir le calcul sur le nœud sans multiplier l'utilisation de la mémoire.

user88
la source
Ici à Hambourg, nous avons toujours un problème que le temps d'attente pour les centres de données universitaires soit vraiment long. est-ce la même chose pour toi?
Heinrich
@Heinrich Je travaille pour une sorte de centre de données académique, donc je n'ai pas de tels problèmes (-; Sérieusement, à Varsovie, l'offre de temps CPU scientifique est plus grande que la demande, donc je pense qu'il est assez facile d'obtenir une subvention. Et Je pense que vous devriez essayer D-Grid ou EGEE, mon expérience est que les grilles en général sont très sous-utilisées.
Oh. C'est intéressant. Savez-vous dans quel type d'entreprises R est utilisé dans ces extensions?
Heinrich
2

J'utilise la neige et les chutes de neige pour la parallélisation des cours sur les clusters HPC et CUDA pour le traitement parallèle des données fines. Je suis en épidémiologie et je fais de la modélisation de la transmission de maladies. J'utilise donc les deux.

Andrew Redd
la source
Merci pour votre information. Que voulez-vous dire par parallélisation de cours?
Heinrich
La parallélisation de cours serait quelque chose comme des exécutions indépendantes d'un changement MCMC, c'est-à-dire de très gros mandrins qui peuvent être exécutés en parallèle sans synchroniser les threads. Un exemple de grain fin est le calcul de la probabilité que des calculs puissent être effectués indépendamment sur les points de données.
Andrew Redd