Ich bin gerade dabei herauszufinden, wie ich meinen Universitätscluster nutzen soll. Es sind 2 Versionen von R installiert. Systemweit R 2.11 (Debian 6.0) und R 2.14.2 an nicht standardmäßigen Standorten.
Ich versuche, MPI zusammen mit Schnee zu verwenden. Der Code, den ich ausführen möchte, ist der folgende
library(snow)
library(Rmpi)
cl <- makeMPIcluster(mpi.universe.size()-1)
stopCluster(cl)
mpi.quit()
Es funktioniert ohne die Probleme auf R 2.11. (Ich starte das Skript mit mpirun -H localhost,n1,n2,n3,n4 -n 1 R --slave -f code.R
). Wenn ich jetzt versuche, es mit R 2.14.2 zu tun, erhalte ich die folgende Meldung:
Error: This is R 2.11.1, package 'snow' needs >= 2.12.1
In addition: Warning message:
Es scheint also, dass R die für R 2.11 kompilierte Paket-Schneeversion lädt. Ich habe Schnee unter R 2.14 in meinem Home-Ordner installiert und meinem Code die folgenden Zeilen hinzugefügt:
.libPaths("/soft/R/lib/R/library")
.libPaths("~/R/x86_64-pc-linux-gnu-library/2.11")
print(.libPaths())
print(sessionInfo())
print(version)
Die Ausgabe vor dem Fehler bestätigt, dass ich tatsächlich R 2.14.2 ausführe und mein R-Paketordner sich zuerst im Suchpfad befindet. Aber ich bekomme immer noch den Fehler.
Meine Frage ist also, wie ich feststelle, welche Version des Pakets in R geladen ist. Ich kann mit installed.packages
allen installierten Paketen sehen, also gibt es vielleicht eine Funktion, die ähnliche Informationen für geladene Pakete auflistet?