R
Einleitung
R ist eine Programmiersprache und Softwareumgebung für statistiche Rechnungen und Graphiken.
Lokale Pakete
Viele Pakete werden automatisch mit R installiert. Wenn einem aber ein bestimmtes R-Paket fehlt, kann man dieses lokal im eigenen home-Verzeichnis installieren.
Achtung: Die Installation innerhalb eines Batch-Jobs funktioniert in der Regel nicht, daher sollte sie einmal direkt auf dem Login-Knoten durchgeführt werden.
Dazu muss man zunächst die gewünschte Version von R starten:
Beim ersten Mal wird man aufgefordert, einen Server auszuwählen, von dem das Paket heruntergeladen werden soll. In der Regel sollte man sich für einen Server in Deutschland entscheiden.
Job-Skripte
Ein einfaches Beispiel-Skript, das an Slurm geschickt werden kann, könnte folgendermaßen aussehen:
#!/bin/bash
#SBATCH --job-name=my_R_job
#SBATCH --ntasks=1
#SBATCH --mem-per-cpu=4096
#SBATCH --time=1-12:00:00
#SBATCH --qos=standard
module load R/3.5.1-foss-2018b
cd /scratch/${USER}/r-jobs
Rscript script.r arg1 arg2
Mit dem R-Paket Rmpi
können parallele Jobs gestartet werden. In diesem Fall muss die Anzahl der Tasks durch den Slurm-Parameter --ntasks
angegeben werden. Allerdings sollte die Anzahl der zu startenden Prozesse, die an mpirun
mit der Option -np
lediglich 1
sein.
Achtung! Es wird von Rmpi
ein Steuerprozess gestartet. Deshalb muss man einen Task mehr anfordern, als man tatsächliche Programmprozesse verwenden will. Wenn man dies nicht tut, bekommt man eine Fehlermeldung wie
There are not enough slots available in the system to satisfy the 8 slots that were requested by the application