Właśnie zastanawiam się, jak korzystać z mojego klastra uniwersyteckiego. Ma zainstalowane 2 wersje R. Systemowy R 2.11 (Debian 6.0) i R 2.14.2 w niestandardowej lokalizacji.
Próbuję używać MPI razem ze śniegiem. Kod, który próbuję uruchomić, jest następujący
library(snow)
library(Rmpi)
cl <- makeMPIcluster(mpi.universe.size()-1)
stopCluster(cl)
mpi.quit()
Działa bez problemów na R 2.11. (Uruchamiam skrypt za pomocą mpirun -H localhost,n1,n2,n3,n4 -n 1 R --slave -f code.R
). Teraz, gdy próbuję to zrobić w wersji 2.14.2, pojawia się następujący komunikat:
Error: This is R 2.11.1, package 'snow' needs >= 2.12.1
In addition: Warning message:
Wygląda więc na to, że R ładuje pakiet śniegu w wersji skompilowanej dla R 2.11. Zainstalowałem śnieg pod R 2.14 w moim katalogu domowym i dodałem następujące wiersze do mojego kodu:
.libPaths("/soft/R/lib/R/library")
.libPaths("~/R/x86_64-pc-linux-gnu-library/2.11")
print(.libPaths())
print(sessionInfo())
print(version)
Dane wyjściowe przed błędem potwierdzają, że rzeczywiście korzystam z wersji 2.14.2, a mój folder pakietów R znajduje się najpierw na ścieżce wyszukiwania. Ale nadal pojawia się błąd.
Więc moje pytanie brzmi: jak ustalić, która wersja pakietu jest ładowana w R? Widzę ze installed.packages
wszystkimi zainstalowanymi pakietami, więc może jest jakaś funkcja, która wyświetla podobne informacje dla załadowanych pakietów?