R-Teaching: Difference between revisions
(Created page with "Category:TeachingCategory:SoftwareCategory:Statistics === Category === Statistics === Program On === Teaching === Version === 3.4.4 ===Author / Distributor=== Se...") |
|||
(2 intermediate revisions by one other user not shown) | |||
Line 5: | Line 5: | ||
Teaching | Teaching | ||
=== Version === | === Version === | ||
3.4.4 | 3.6.2, 4.1.2, 4.2.1, 4.3.1, 4.3.2 | ||
===Author / Distributor=== | ===Author / Distributor=== | ||
See http://www.r-project.org/ | See http://www.r-project.org/ | ||
Line 16: | Line 16: | ||
'''R version 3. | '''R version 4.3.1''' | ||
R version 3. | R version 4.3.1 is installed in /apps/eb/R/4.3.1-foss-2022a and add-on packages are installed in /apps/eb/R/4.3.1-foss-2022a/lib64/R/library. You can list all files in this dir to see the packages installed with this version of R. | ||
To use this version of R, please first load the module with | To use this version of R, please first load the module with | ||
<pre class="gscript"> | <pre class="gscript"> | ||
module load R/3.4.4-foss- | module load R/4.3.1-foss-2022a | ||
</pre> | |||
'''R version 4.2.1''' | |||
R version 4.2.1 is installed in /apps/eb/R/4.2.1-foss-2022a and add-on packages are installed in /apps/eb/R/4.2.1-foss-2022a/lib64/R/library. You can list all files in this dir to see the packages installed with this version of R. | |||
To use this version of R, please first load the module with | |||
<pre class="gscript"> | |||
module load R/4.2.1-foss-2022a | |||
</pre> | |||
'''R version 4.1.2''' | |||
R version 4.1.2 is installed in /apps/eb/R/4.1.2-foss-2021b and add-on packages are installed in /apps/eb/R/4.1.2-foss-2021b/lib64/R/library. You can list all files in this dir to see the packages installed with this version of R. | |||
To use this version of R, please first load the module with | |||
<pre class="gscript"> | |||
module load R/4.1.2-foss-2021b | |||
</pre> | </pre> | ||
Please note that when you load this R module, many other modules will be loaded as R depends on those other libraries and packages. | Please note that when you load this R module, many other modules will be loaded as R depends on those other libraries and packages. | ||
Here is an example of a shell script, sub.sh, to run on the batch queue: | A number of R packages are provided by other module files. For example, many packages that depend on the JAGS library, such as rjags, are provided by the rjags/4-12-foss-2022a-R-4.3.1 module, which can be loaded with | ||
<pre class="gscript"> | |||
module load rjags/4-12-foss-2022a-R-4.3.1 | |||
</pre> | |||
'''How to run R programs with multithreads''' | |||
Some functions in the R packages are written with OpenMP and can run in parallel using multithreads. The R module files set the variable OMP_NUM_THREADS=1, to specify using only one thread. If you are using a function in an R package that is enabled to run with multithreads, please set the OMP_NUM_THREADS variable to the number of threads you want to use and request the same number of cores for your job. Note that you would need to set this variable '''after''' you load the R module, for it to have effect. For example, to use 6 threads, request 6 cores on the same node with | |||
<pre class="gscript"> | |||
#SBATCH --ntasks=1 | |||
#SBATCH --cpus-per-task=6 | |||
</pre> | |||
and set | |||
<pre class="gscript"> | |||
export OMP_NUM_THREADS=6 | |||
</pre> | |||
You can set OMP_NUM_THREADS to automatically correspond to the number of cores per task requested for the job, by setting it to $SLURM_CPUS_PER_TASK, with | |||
<pre class="gscript"> | |||
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK | |||
</pre> | |||
A sample job submission to run a multithread job is provided below. | |||
'''Sample Job Submission Scripts''' | |||
Here is an example of a shell script, sub.sh, to run a serial R script on the batch queue: | |||
< | <pre class="gscript"> | ||
#!/bin/bash | |||
#SBATCH --job-name=testRjob | |||
#SBATCH --partition=batch | |||
#SBATCH --ntasks=1 | |||
#SBATCH --mem=10gb | |||
#SBATCH --time=08:00:00 | |||
#SBATCH --output=%x.%j.out | |||
#SBATCH --error=%x.%j.err | |||
cd $SLURM_SUBMIT_DIR | cd $SLURM_SUBMIT_DIR | ||
R CMD BATCH | module load R/4.3.1-foss-2022a | ||
</ | |||
R CMD BATCH program.R | |||
</pre> | |||
where program.R is just a sample program name and needs to be replaced by the name of the program you wish to run. The settings in the header lines, such as the job name, the email address, the number of cores, memory and walltime limit, need to be changed appropriately as well. | |||
Here is an example of a shell script, sub.sh, to run a multithread R script on the batch queue: | |||
<pre class="gscript"> | |||
#!/bin/bash | |||
#SBATCH --job-name=testRjob | |||
#SBATCH --partition=batch | |||
#SBATCH --ntasks=1 | |||
#SBATCH --cpus-per-task=6 | |||
#SBATCH --mem=10gb | |||
#SBATCH --time=08:00:00 | |||
#SBATCH --output=%x.%j.out | |||
#SBATCH --error=%x.%j.err | |||
cd $SLURM_SUBMIT_DIR | |||
module load R/4.3.1-foss-2022a | |||
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK | |||
R CMD BATCH program.R | |||
</pre> | |||
where program.R is just a sample program name and needs to be replaced by the name of the program you wish to run. The settings in the header lines, such as the job name, the email address, the number of cores, memory and walltime limit, need to be changed appropriately as well. | |||
Line 54: | Line 124: | ||
sbatch ./sub.sh | sbatch ./sub.sh | ||
</pre> | </pre> | ||
=== Documentation === | === Documentation === | ||
Please see http://www.r-project.org/ | Please see http://www.r-project.org/ | ||
=== Installation === | === Installation === | ||
Source code downloaded from https://www.r-project.org/ | |||
=== System === | === System === | ||
64-bit Linux | 64-bit Linux |
Latest revision as of 07:36, 14 May 2024
Category
Statistics
Program On
Teaching
Version
3.6.2, 4.1.2, 4.2.1, 4.3.1, 4.3.2
Author / Distributor
Description
R is a language and environment for statistical computing and graphics. It provides a wide variety of statistical (linear and nonlinear modeling, classical statistical tests, time-series analysis, classification, clustering, ...) and graphical techniques.
Running Program
Also refer to Running Jobs on the teaching cluster
R version 4.3.1
R version 4.3.1 is installed in /apps/eb/R/4.3.1-foss-2022a and add-on packages are installed in /apps/eb/R/4.3.1-foss-2022a/lib64/R/library. You can list all files in this dir to see the packages installed with this version of R.
To use this version of R, please first load the module with
module load R/4.3.1-foss-2022a
R version 4.2.1
R version 4.2.1 is installed in /apps/eb/R/4.2.1-foss-2022a and add-on packages are installed in /apps/eb/R/4.2.1-foss-2022a/lib64/R/library. You can list all files in this dir to see the packages installed with this version of R.
To use this version of R, please first load the module with
module load R/4.2.1-foss-2022a
R version 4.1.2
R version 4.1.2 is installed in /apps/eb/R/4.1.2-foss-2021b and add-on packages are installed in /apps/eb/R/4.1.2-foss-2021b/lib64/R/library. You can list all files in this dir to see the packages installed with this version of R.
To use this version of R, please first load the module with
module load R/4.1.2-foss-2021b
Please note that when you load this R module, many other modules will be loaded as R depends on those other libraries and packages.
A number of R packages are provided by other module files. For example, many packages that depend on the JAGS library, such as rjags, are provided by the rjags/4-12-foss-2022a-R-4.3.1 module, which can be loaded with
module load rjags/4-12-foss-2022a-R-4.3.1
How to run R programs with multithreads
Some functions in the R packages are written with OpenMP and can run in parallel using multithreads. The R module files set the variable OMP_NUM_THREADS=1, to specify using only one thread. If you are using a function in an R package that is enabled to run with multithreads, please set the OMP_NUM_THREADS variable to the number of threads you want to use and request the same number of cores for your job. Note that you would need to set this variable after you load the R module, for it to have effect. For example, to use 6 threads, request 6 cores on the same node with
#SBATCH --ntasks=1 #SBATCH --cpus-per-task=6
and set
export OMP_NUM_THREADS=6
You can set OMP_NUM_THREADS to automatically correspond to the number of cores per task requested for the job, by setting it to $SLURM_CPUS_PER_TASK, with
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
A sample job submission to run a multithread job is provided below.
Sample Job Submission Scripts
Here is an example of a shell script, sub.sh, to run a serial R script on the batch queue:
#!/bin/bash #SBATCH --job-name=testRjob #SBATCH --partition=batch #SBATCH --ntasks=1 #SBATCH --mem=10gb #SBATCH --time=08:00:00 #SBATCH --output=%x.%j.out #SBATCH --error=%x.%j.err cd $SLURM_SUBMIT_DIR module load R/4.3.1-foss-2022a R CMD BATCH program.R
where program.R is just a sample program name and needs to be replaced by the name of the program you wish to run. The settings in the header lines, such as the job name, the email address, the number of cores, memory and walltime limit, need to be changed appropriately as well.
Here is an example of a shell script, sub.sh, to run a multithread R script on the batch queue:
#!/bin/bash #SBATCH --job-name=testRjob #SBATCH --partition=batch #SBATCH --ntasks=1 #SBATCH --cpus-per-task=6 #SBATCH --mem=10gb #SBATCH --time=08:00:00 #SBATCH --output=%x.%j.out #SBATCH --error=%x.%j.err cd $SLURM_SUBMIT_DIR module load R/4.3.1-foss-2022a export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK R CMD BATCH program.R
where program.R is just a sample program name and needs to be replaced by the name of the program you wish to run. The settings in the header lines, such as the job name, the email address, the number of cores, memory and walltime limit, need to be changed appropriately as well.
Here is an example of job submission command:
sbatch ./sub.sh
Documentation
Please see http://www.r-project.org/
Installation
Source code downloaded from https://www.r-project.org/
System
64-bit Linux