How-to run R
Versions
As of this article update, we have the following versions of R installed on Talapas:
3.3.3
3.3.3_intel-17
3.4.1
3.4.2
3.4.3
3.4.4
3.5.1
3.5.3
3.6.1
3.6.1_gcc7
3.6.2
4.0.2
4.0.2_gcc7Note: packages within each version of R are not the same! There may be different packages or different package versions.
Intel R
Intel is the default. To run an Intel compiled version of R, e.g 4.0.2, run:
$ module load R/4.0.2
$ Rgcc R
We have 2 versions of R compiled with gcc7 (3.6.1_gcc7 and 4.0.2_gcc7) built specifically to support RStan. To use these versions you must first load gcc. E.g. 4.0.2, run:
$ module load gcc
Lmod is automatically replacing "intel/17" with "gcc/7.3".
$ module load R/4.0.2
$ RVerify the path of the R executable that is loaded use the bash command which:
$ which R
/packages/R/4.0.2_gcc7/bin/RThe output above shows the executable to R version 4.0.2 built with gcc7.
R Packages
To list installed packages and version information, run:
$ module load R/4.0.2
$ R
> installed.packages()[,c("Package","Version")]
Package Version
abind "abind" "1.4-5"
...Running R Interactive
ssh onto a talapas login node, https://hpcrcf.atlassian.net/wiki/spaces/TCP/pages/6762250
Start an interactive job, https://hpcrcf.atlassian.net/wiki/spaces/TCP/pages/7089568
Once on the allocated node enter,
$ module load R/4.0.2
$ RRunning R in Batch
For longer running non-interactive use cases call R in batch.
First, create your file, e.g. demo.r, which contains R syntax.
Next, create your batch job file, e.g. r-job.srun, and add desired slurm declarations, module(s), and call to the application.
#!/bin/bash
#SBATCH --account=<pirg-name>
#SBATCH --job-name=r-job
#SBATCH --output=r-job.out
#SBATCH --error=r-job.err
module load R/4.0.2
R --save < /gpfs/projects/<pirg-name>/<user-name>/demo.r‘Save current workspace’ with --save
The example above preserves R session output. Also include the save.image function in your demo.r file, e.g. save.image("/gpfs/projects/<pirg-name>/<user-name>/demo.RData")
Submit the job
Use the sbatch command to submit the job.
$ sbatch r-job.srun