R

De Wiki de Calcul Québec
Aller à : Navigation, rechercher
Autres langues :anglais 100% • ‎français 100%

Sommaire

Introduction

R est un outil de calculs statistiques et de graphiques. Il s'agit d'un langage de programmation additionné d'un environnement graphique, d'un débogueur, de l'accès à certaines fonctions systèmes et de la possibilité d'exécuter des scripts.

Même si R n'a pas été développé pour le calcul de haute performance, sa popularité au sein de plusieurs disciplines scientifiques, incluant l'ingénierie, les mathématiques, les statistiques et la bio-informatique, en fait un outil essentiel sur les supercalculateurs dédiés à la recherche académique. Certaines fonctionnalités, étant écrites en C, compilées et parallélisées par fils d'exécution, permettent d'atteindre des performances raisonnables sur un seul nœud de calcul. Grâce à la nature modulaire de R, les utilisateurs peuvent personnaliser leur configuration en installant des paquets à partir du Comprehensive R Archive Network (CRAN) dans leur répertoire personnel.

L'interpréteur R

Lorsque R est chargé dans votre environnement (en utilisant le module approprié sur le serveur que vous utilisez), vous pouvez démarrer l'interpréteur R et exécuter du code R dans cet environnement :


[nom@serveur $] R
 
R version 2.14.2 (2012-02-29)
Copyright (C) 2012 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Platform: x86_64-unknown-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> values <- c(3,5,7,9)
> values[0]
[1] 3
> q()


Pour exécuter des scripts R, utilisez la commande Rscript suivit du fichier contenant les commandes R :


[nom@serveur $] Rscript computation.R


Cette commande passera automatiquement les options appropriées pour un traitement en lot, soit --slave, --no-restore et --no-save à l'interpréteur R. Ces options empêcheront la création de fichiers d'espace de travail inutiles lors d'un traitement en lot.

Tâches parallèles

Les commandes décrites ci-dessus peuvent être utilisées dans une tâche soumise à l’ordonnanceur. Voici un exemple d'un script minimal pour une tâche R parallèle, combinant les commandes décrites ci-dessus et redirigeant les sorties standard et d'erreur vers des fichiers :

Fichier : r-tache-parallele.sh
#PBS -N r-job-name
#PBS -A xxx-yyy-zz
#PBS -l nodes=1:ppn=8
#PBS -l walltime=300
 
cd ${PBS_O_WORKDIR}
module load compilers/intel/12.0.4 blas-libs/mkl/10.3.4 java/jdk1.6.0 apps/r/2.14.2
 
Rscript computation.R > computation.out 2> computation.err


Puisque ce fichier de soumission lance une seule instance de R sur un nœud de calcul de huit cœurs, le script computation.R devrait être capable d'exécuter la majeure partie de son temps de calcul en parallèle sur plusieurs fils d'exécution. Si ce n'est pas le cas de votre script R, vous devriez envisager l'utilisation de lots de tâches séquentielles ou de GNU parallel.

Il existe aussi une multitude de paquets disponibles via CRAN qui permettent de distribuer vos calculs avec R. Pour en savoir plus, consultez la page dédiée au sujet: CRAN Task View: High-Performance and Parallel Computing with R.

Installer des paquets R additionnels

Pour installer des paquets du répertoire CRAN, vous pouvez utiliser la commande install.packages à l'intérieur de R. Par exemple, pour installer le paquet sp qui fournit des fonctions pour les données spatiales, exécutez :


[nom@serveur $] R
 [...]
> install.packages("sp")


Lorsque R vous le demandera, sélectionnez un miroir pour le téléchargement. Idéalement, ce dernier sera géographiquement près d'où vous vous situé.

Certains paquets requièrent la définition de la variable d'environnement TMPDIR pour que l'installation fonctionne.

Si vous cherchez à installer un paquet que vous avez téléchargé, supposons que l'archive se nomme paquet_archive.tgz (utile pour un paquet qui n'appartient pas au domaine CRAN), entrez la commande suivante dans votre interpréteur de commandes :

[nom@serveur $] R CMD INSTALL paquet_archive.tgz


Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Ressources de Calcul Québec
Outils
Partager