Aller au contenu principal

Comment accélérer les calculs sous R grâce à la vectorisation et à la programmation parallèle

le dimanche 29 mai 2016, de 9h00 à 4h00, déjeuner inclus — Thistle 256

Hao Yu, Western University

Résumé

L’exécution de simulations de Monte Carlo et l’analyse de jeux de données (volumineux) peuvent être extrêmement chronophages (des jours, des semaines et même des mois dans certains cas). Ainsi, il est essentiel d’optimiser son code afin de le rendre le plus efficace possible. D’une part, il est inévitable que des progrès méthodologiques en statistique mènent à des solutions aux calculs plus intensifs, mais d’autre part, nos codes R ne tirent pas toujours pleinement profit des caractéristiques propres au langage R. Cet atelier vise à améliorer l’efficacité de nos codes et calculs R à l’aide de trois approches fondamentales. La première consiste en la vectorisation des codes R, qui peut mener à une réduction substantielle du temps de calcul. La deuxième consiste à utiliser le langage C, comme des boucles, pour accélérer les calculs. La troisième approche consiste à exécuter les calculs en parallèle en fractionnant une grande tâche en de multiple petites qui peuvent être exécutées simultanément sur plusieurs CPU ou cœurs.

Les principaux sujets abordés dans cet atelier sont les suivants :

  1. Vectorisation des codes R
  2. Interaction avec le langage C et utilisation de nombreuses fonctions C intégrées dans R
  3. Introduction à la programmation parallèle, y compris à l’algorithme de « parallélisme embarrassant » (embarrassingly parallel)
  4. Utilisation de la bibliothèque de fonctions parallel par défaut de R pour exécuter les calculs en parallèle sur un seul ordinateur
  5. Introduction de l’interface d’échange de messages (MPI) et de la bibliothèque de fonctions Rmpi
  6. Utilisation de Rmpi pour exécuter des calculs en parallèle sur une grappe Beowulf, comme SHARCNET

Cet atelier sera particulièrement utile aux étudiants des cycles supérieurs et aux professionnels qui analysent de volumineux jeux de données et qui utilisent des techniques exigeantes en calculs, comme les simulations et le rééchantillonnage.

Conférencier

 

Hao Yu professeur des sciences statistiques et actuarielles à la Western University. Il est un expert reconnu en informatique statistique et, en particulier, en programmation statistique parallèle. Ses intérêts de recherche portent aussi sur la théorie limite, les processus empiriques et quantiles, les séries chronologiques non paramétriques, la stationnarité et la statistique probabiliste.