Difference between revisions of "R"

From arccwiki
Jump to: navigation, search
(5 intermediate revisions by the same user not shown)
Line 142: Line 142:
 
** The <code>module load r/3.6.1-intel</code> line will automatically load these modules for you.
 
** The <code>module load r/3.6.1-intel</code> line will automatically load these modules for you.
 
** The <code>readline, bzip2, xz</code> and <code>curl</code> libraries are all versions that have also been built using the intel compiler.
 
** The <code>readline, bzip2, xz</code> and <code>curl</code> libraries are all versions that have also been built using the intel compiler.
 +
<br/>
 +
===Installing Packages to Use with Intel Version===
 +
The packages that you have installed for the standard versions of R will not work for the Intel version since they are built with different compilers. This means you will need to re-install the packages that you use.
 +
<br/>
 +
If you potentially want to use both versions then you will need to create a second folder to install the Intel versions into.
 +
<br/>
 +
On teton, R packages are typically installed into:
 +
<pre>
 +
~/R/
 +
  x86_64-pc-linux-gnu-library/
 +
    3.5/
 +
    3.6/
 +
</pre>
 +
One way to install the Intel packages is the following:
 +
* Create a folder <code>~/R/intel/3.6/</code>
 +
<pre>
 +
~/R/
 +
  x86_64-pc-linux-gnu-library/
 +
    3.5/
 +
    3.6/
 +
  intel/
 +
    3.6/
 +
</pre>
 +
* Use <code>module load r/3.6.1-intel</code> to load the Intel version.
 +
* After starting R, use <code>.libPaths(c("~/R/intel/3.6/", .libPaths()))</code> to set your environment to use this folder.
 +
* Install packages as normal e.g. <code>install.packages("<the package's name>")</code>
 +
* When running your R scripts you need to set <code>.libPaths</code> before loading any libraries to inform R where the appropriate packages can be found.
 
<br/>
 
<br/>
 
Back to [[HPC Installed Software]]
 
Back to [[HPC Installed Software]]

Revision as of 22:22, 4 December 2019

  • Homepage: R: The R Project for Statistical Computing

Module: Example

[]$ module spider r
----------------------------
  r:
----------------------------
     Versions:
        r/3.4.4
        r/3.5.0-py27
        r/3.5.0
        r/3.5.1s
        r/3.5.2-py27
        r/3.5.2
        r/3.5.3-py27
        r/3.5.3
        r/3.6.1-intel
        r/3.6.1-py27
        r/3.6.1
----------------------------
  For detailed information about a specific "r" module (including how to load the modules) use the module's full name.
  For example:
     $ module spider r/3.6.1
----------------------------


[]$ module spider r/3.5.1s
----------------------------
  r: r/3.5.1s
----------------------------
    You will need to load all module(s) on any one of the lines below before the "r/3.5.1s" module is available to load.
      singularity/2.5.2
      singularity/3.1.1


[]$ module spider r/3.6.1
----------------------------
  r: r/3.6.1
----------------------------
    You will need to load all module(s) on any one of the lines below before the "r/3.6.1" module is available to load.
      swset/2018.05  gcc/7.3.0
module load gcc/7.3.0 r/3.6.1

Using:

Once the modules have been loaded:

[]$ R
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.


> sessionInfo()
R version 3.6.1 (2019-07-05)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Storage

Matrix products: default
BLAS:   /pfs/tsfs1/apps/el7-x86_64/u/gcc/7.3.0/r/3.6.1-3rtwrmw/rlib/R/lib/libRblas.so
LAPACK: /pfs/tsfs1/apps/el7-x86_64/u/gcc/7.3.0/r/3.6.1-3rtwrmw/rlib/R/lib/libRlapack.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] compiler_3.6.1


> quit()
Save workspace image? [y/n/c]: n
[@tlog2 ~]$ 

Notes:

  • This software is dependent on the following modules:
    • gcc/7.3.0
    • Due to the install process, at this moment in time you have to explicitly load gcc before loading r. If you try loading r before gcc you will see the following message:
[]$ module load r/3.6.1
Lmod has detected the following error:  These module(s) exist but cannot be loaded as requested: "r/3.6.1"
   Try: "module spider r/3.6.1" to see how to load the module(s).

R and Intel/MKL

We have a version of r3.6.1 built with the Intel compiler and related MKL (Maths Kernel Library) that follows a request relating to Improving R Perfomance by installing optimized BLAS/LAPACK libraries.
To use:

[]$ module load r/3.6.1-intel

[]$ R
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
...
> sessionInfo()
R version 3.6.1 (2019-07-05)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Storage

Matrix products: default
BLAS/LAPACK: /pfs/tsfs1/apps/el7-x86_64/u/intel/18.0.1/intel-mkl/2018.2.199-pti6y2y/compilers_and_libraries_2018.2.199/linux/mkl/lib/intel64_lin/libmkl_rt.so
...
  • The Intel built version is dependent on the following modules:
    • swset/2018.05
    • intel/18.0.1
    • intel-mkl/2018.2.199
    • readline/7.0
    • bzip2/1.0.6
    • xz/5.2.4
    • curl/7.60.0
    • jdk/8u172-b11
    • The module load r/3.6.1-intel line will automatically load these modules for you.
    • The readline, bzip2, xz and curl libraries are all versions that have also been built using the intel compiler.


Installing Packages to Use with Intel Version

The packages that you have installed for the standard versions of R will not work for the Intel version since they are built with different compilers. This means you will need to re-install the packages that you use.
If you potentially want to use both versions then you will need to create a second folder to install the Intel versions into.
On teton, R packages are typically installed into:

~/R/
  x86_64-pc-linux-gnu-library/
    3.5/
    3.6/

One way to install the Intel packages is the following:

  • Create a folder ~/R/intel/3.6/
~/R/
  x86_64-pc-linux-gnu-library/
    3.5/
    3.6/
  intel/
    3.6/
  • Use module load r/3.6.1-intel to load the Intel version.
  • After starting R, use .libPaths(c("~/R/intel/3.6/", .libPaths())) to set your environment to use this folder.
  • Install packages as normal e.g. install.packages("<the package's name>")
  • When running your R scripts you need to set .libPaths before loading any libraries to inform R where the appropriate packages can be found.


Back to HPC Installed Software