R
Es ist R, Version 2.11.1, mit folgenden Paketen installiert:
base The R Base Package boot Bootstrap R (S-Plus) Functions (Canty) class Functions for Classification cluster Cluster Analysis Extended Rousseeuw et al. codetools Code Analysis Tools for R cubature Adaptive multivariate integration over hypercubes datasets The R Datasets Package flexmix Flexible Mixture Modeling foreign Read Data Stored by Minitab, S, SAS, SPSS, Stata, Systat, dBase, ... graphics The R Graphics Package grDevices The R Graphics Devices and Support for Colours and Fonts grid The Grid Graphics Package KernSmooth Functions for kernel smoothing for Wand & Jones (1995) lattice Lattice Graphics MASS Main Package of Venables and Ripley's MASS Matrix Sparse and Dense Matrix Classes and Methods methods Formal Methods and Classes mgcv GAMs with GCV/AIC/REML smoothness estimation and GAMMs by PQL modeltools Tools and Classes for Statistical Models multcomp Simultaneous Inference in General Parametric Models mvtnorm Multivariate Normal and t Distributions nlme Linear and Nonlinear Mixed Effects Models nnet Feed-forward Neural Networks and Multinomial Log-Linear Models np Nonparametric kernel smoothing methods for mixed data types npRmpi Parallel nonparametric kernel smoothing methods for mixed data types Rmpi Interface (Wrapper) to MPI (Message-Passing Interface) rpart Recursive Partitioning snow Simple Network of Workstations spatial Functions for Kriging and Point Pattern Analysis splines Regression Spline Functions and Classes stats The R Stats Package stats4 Statistical Functions using S4 Classes survival Survival analysis, including penalised likelihood. tcltk Tcl/Tk Interface tools Tools for Package Development utils The R Utils PackageGeben sie im Batchfile an: source /G/home/env/R/2.11.1
Beispiel-Batchfile
#!/bin/bash #PBS -V IN=$HOME/R/Prg.r OUT=$HOME/R/rout.log source /G/home/env/R/2.11.1 R --vanilla < $IN > $OUT
Beispiel-Skript
wrapper<-function(instanz){ # Die Funktion summiert hier als Bsp nur die Zahlen auf. # Das wird wahrscheinlich so schnell gehen, dass man das auf dem Cluster nicht sieht. tmp <- 0="" for="" r="" in="" 1:i="" tmp="" -="" return="" nodefile="" -sys="" getenv="" pbs_nodefile="" nodes="" -read="" table="" library="" snowfall="" sfinit="" parallel="TRUE," type="SOCK" sockethosts="t(nodes))" sfexport="" variablenname1="" variablenname2="" functionsname1="" functionsname2="" alle="" variablen="" und="" funktionen="" auf="" die="" zugreifen="" k="" nnen="" m="" ssen="" result="" sfclusterapplylb="" 1:20="" wrapper="" pre=""> # Parallelisierte Version von Apply. Hier muss nur der Name der Funktion und die Parameter, für die die Funktion ausgeführt werden soll angegeben werden. Z.Z funktioniert das nur mit Zahlen. Damit wird die Funktion wrapper mit den Zahlen im Bereich 1 bis 20 als übergebener Parameter aufgerufen. Das Verteilen auf die Nodes funktioniert dann automatisch.
sfStop() Result # Ausgabe der Ergebnisse
Die MPI - Variante läuft fast genauso, nur dass man R mit mpirun bzw. orterun starten muss und der Funktion sfInit type="MPI" statt "SOCK" übergeben muss. Leider gibt es, im Fehlerfall, so gut wie keine Ausgaben für die MPI-Version, so dass das nicht so benutzerfreundlich ist.
Bitte beachten sie, dass eine Ressourcen-Angabe entweder innerhalb des Batch-Files oder per Parameter an den Befehl "qsub" erfolgt, da ansonsten ein leeres Nodefile erzeugt und auf nur einem Prozessor gerechnet werden würde. Informationen hierzu finden sie unter dem Menü-Punkt: Bedienung.
Bitte beachten sie, dass eine Ressourcen-Angabe entweder innerhalb des Batch-Files oder per Parameter an den Befehl "qsub" erfolgt, da ansonsten ein leeres Nodefile erzeugt und auf nur einem Prozessor gerechnet werden würde. Informationen hierzu finden sie unter dem Menü-Punkt: Bedienung.
Hier geht's zum Artikel:
State-of-the-art in Parallel Computing with R von der Ludwig-Maximilians-Universität München.