Warning
The documentation here may not directly apply to your version of Flight, locate your version of Flight here
Working with Gridware Applications: R¶
The following guide will detail the installation of R, along with some of the advanced features of Alces Gridware when working with the R Gridware package.
R Installation¶
Many different versions of R are available through the Alces Gridware utility - you can see the list of available packages with the alces gridware list
function, for example:
[alces@login1(scooby) ~]$ alces gridware list R
main/apps/R/3.2.3 main/apps/R/3.2.5 main/apps/R/3.3.0 main/apps/R/3.3.1
To install, for example - R version 3.3.1; run the following command:
[alces@login1(scooby) ~]$ alces gridware install apps/R/3.3.1
Preparing to install main/apps/R/3.3.1
Installing main/apps/R/3.3.1
Importing apps-R-3.3.1-el7.tar.gz
> Fetching archive
Download ... OK
> Preparing import
Extract ... OK
Verify ... OK
> Processing apps/R/3.3.1/gcc-4.8.5+lapack-3.5.0+blas-3.6.0
Preparing ... OK
Importing ... OK
Permissions ... OK
> Finalizing import
Update ... OK
Dependencies ... OK
Installation complete.
Once the compilation has finished - the R 3.3.1 Gridware package will be available for use; check its availability and load using:
[alces@login1(scooby) ~]$ module avail
--- /opt/gridware/local/el7/etc/modules ---
apps/R/3.3.1/gcc-4.8.5+lapack-3.5.0+blas-3.6.0
apps/samtools/0.1.19/gcc-4.8.5
compilers/gcc/system
libs/gcc/system
null
--- /opt/clusterware/etc/modules ---
null
services/gridscheduler
services/pdsh
[alces@login1(scooby) ~]$ module load apps/R
apps/R/3.3.1/gcc-4.8.5+lapack-3.5.0+blas-3.6.0
| -- libs/gcc/system
| * --> OK
|
OK
[alces@login1(scooby) ~]$ R --version
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
Multiple versions of a package can exist at one time, however only one version of a particular application can be loaded at any one time - to load a different version of R:
[alces@login1(scooby) ~]$ alces module load apps/R/3.3.1
apps/R/3.3.1/gcc-4.8.5+lapack-3.5.0+blas-3.6.0
| -- libs/gcc/system ... SKIPPED (already loaded)
|
OK
[alces@login1(scooby) ~]$ alces module unload apps/R
apps/R/3.3.1/gcc-4.8.5+lapack-3.5.0+blas-3.6.0 ...
UNLOADING --> OK
[alces@login1(scooby) ~]$ alces module load apps/R/3.2.3
apps/R/3.2.3/gcc-4.8.5+lapack-3.5.0+blas-3.6.0
| -- libs/gcc/system ... SKIPPED (already loaded)
|
OK
[alces@login1(scooby) ~]$ R --version
R version 3.2.3 (2015-12-10) -- "Wooden Christmas-Tree"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
Installation of language libraries¶
Through the Alces Gridware utility, installation of lanaguage libraries is possible both on a system-wide level, and also on a per-user basis. The following section details both system-wide language library installation, as well as user-level language library installation.
System-wide language libraries: R¶
As the alces
administrator user, or any other sudo enabled user that can switch to root - change to the root
user account.
To add R packages, first load the version of R you wish to install packages to - for example apps/R/3.2.3
:
[alces@login1(scooby) ~]$ sudo -s
[root@login1(scooby) alces]# module load apps/R/3.2.3
apps/R/3.2.3/gcc-4.8.5+lapack-3.5.0+blas-20110419
| -- libs/gcc/system
| * --> OK
|
OK
Next, load the R
application - and use the install.packages
command to install your desired system-wide packages:
[root@login1(scooby) alces]# R
R version 3.2.3 (2015-12-10) -- "Wooden Christmas-Tree"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
Type 'q()' to quit R.
> install.packages("randomForest", repos="http://cran.cnr.berkeley.edu")
Installing package into ‘/opt/gridware/depots/22072cfc/el7/share/R/3.2.3’
(as ‘lib’ is unspecified)
trying URL 'http://cran.cnr.berkeley.edu/src/contrib/randomForest_4.6-12.tar.gz'
Content type 'application/x-gzip' length 79566 bytes (77 KB)
==================================================
downloaded 77 KB
* installing *source* package ‘randomForest’ ...
<snip>
** testing if installed package can be loaded
* DONE (randomForest)
> library(randomForest)
randomForest 4.6-12
Type rfNews() to see new features/changes/bug fixes.
Once the installation is complete and you have verified the package works as intended, you can check the package is available to other users on the system:
[alces@login1(scooby) ~]$ module load apps/R/3.2.3
apps/R/3.2.3/gcc-4.8.5+lapack-3.5.0+blas-3.6.0
| -- libs/gcc/system ... SKIPPED (already loaded)
|
OK
[alces@login1(scooby) ~]$ R
R version 3.2.3 (2015-12-10) -- "Wooden Christmas-Tree"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
Type 'q()' to quit R.
> library(randomForest)
randomForest 4.6-12
Type rfNews() to see new features/changes/bug fixes.
User-specific language libraries: R¶
Users may also wish to install their own language libraries; these will be unavailable to other users of the environment.
As the user you wish to install an R package for, load the version of R you wish to install the packages for (e.g. apps/R/3.2.3
).
After the R application is loaded, use the install.packages("packagename")
function to install packages you require - for example:
[alces@login1(scooby) ~]$ module load apps/R/3.2.3
apps/R/3.2.3/gcc-4.8.5+lapack-3.5.0+blas-3.6.0
| -- libs/gcc/system ... SKIPPED (already loaded)
|
OK
[alces@login1(scooby) ~]$ R
R version 3.2.3 (2015-12-10) -- "Wooden Christmas-Tree"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
Type 'q()' to quit R.
> install.packages("snow")
Installing package into ‘/home/alces/gridware/share/R/3.2.3’
(as ‘lib’ is unspecified)
* installing *source* package ‘snow’ ...
* DONE (snow)
> packageVersion("snow")
[1] ‘0.4.2’
The snow
package installation was successful - and we can now use it as the alces
user. Switching to another user will confirm the user-level installation success, the root
user will not be able to use the snow
R package:
[alces@login1(scooby) ~]$ sudo -s
[root@login1(scooby) alces]# module load apps/R/3.2.3
[root@login1(scooby) alces]# R
R version 3.2.3 (2015-12-10) -- "Wooden Christmas-Tree"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
Type 'q()' to quit R.
> library(snow)
Error in library(snow) : there is no package called ‘snow’