rsnt_translations
53,729
edits
No edit summary |
No edit summary |
||
Line 176: | Line 176: | ||
Si les processeurs de nos grappes sont on ne peut plus ordinaires, ce qui rend ces <i>supercalculateurs</i> intéressants, c'est qu'ils offrent des milliers de CPU sur un réseau très performant. Pour profiter de cet avantage, vous devez utiliser la programmation parallèle. Cependant, avant d'allouer beaucoup de temps et d'effort à paralléliser votre code R, assurez-vous que votre implémentation série est aussi efficiente que possible. Comme dans tout langage interprété, d'importants goulots d'étranglement (<i>bottlenecks</i>) sont causés par les boucles et particulièrement les boucles imbriquées, ce qui a un impact sur la performance. Lorsque possible, essayez d'utiliser les fonctions vectorielles et les autres éléments plus fonctionnels comme la famille des fonctions <code>apply</code> et la fonction <code>ifelse</code>. Vous obtiendrez souvent un gain de performance en éliminant une boucle plutôt que de paralléliser son exécution avec plusieurs cœurs CPU. | Si les processeurs de nos grappes sont on ne peut plus ordinaires, ce qui rend ces <i>supercalculateurs</i> intéressants, c'est qu'ils offrent des milliers de CPU sur un réseau très performant. Pour profiter de cet avantage, vous devez utiliser la programmation parallèle. Cependant, avant d'allouer beaucoup de temps et d'effort à paralléliser votre code R, assurez-vous que votre implémentation série est aussi efficiente que possible. Comme dans tout langage interprété, d'importants goulots d'étranglement (<i>bottlenecks</i>) sont causés par les boucles et particulièrement les boucles imbriquées, ce qui a un impact sur la performance. Lorsque possible, essayez d'utiliser les fonctions vectorielles et les autres éléments plus fonctionnels comme la famille des fonctions <code>apply</code> et la fonction <code>ifelse</code>. Vous obtiendrez souvent un gain de performance en éliminant une boucle plutôt que de paralléliser son exécution avec plusieurs cœurs CPU. | ||
La page [https://cran.r-project.org/web/views/HighPerformanceComputing.html CRAN Task View on High-Performance and Parallel Computing with R] | La page [https://cran.r-project.org/web/views/HighPerformanceComputing.html CRAN Task View on High-Performance and Parallel Computing with R] | ||
mentionne un grand nombre de paquets pouvant être utilisés avec R pour la programmation parallèle. | mentionne un grand nombre de paquets pouvant être utilisés avec R pour la programmation parallèle. | ||
Vous trouverez une excellente vue d'ensemble et des conseils dans le contenu du | |||
[https://education.scinet.utoronto.ca/course/view.php?id=1333 diapositives du colloque de Compute Ontario du 11 octobre 2023 intitulé "High-Performance Computing in R"] | |||
([https://education.scinet.utoronto.ca/mod/resource/view.php?id=2887 diapositives]). | |||
The following subsections contain some further notes and examples. | The following subsections contain some further notes and examples. |