BwUniCluster2.0/Software/R/Rstan: Difference between revisions

From bwHPC Wiki
Jump to navigation Jump to search
(Created page with " Installation instructions = Consider starting an interactive job for compiling. Just copy paste this to your shell (please only copy line by line so you see errors fast). <...")
 
No edit summary
 
(23 intermediate revisions by 6 users not shown)
Line 1: Line 1:
= General information =
Installation instructions =


<code>rstan</code> provides the R interface for [https://mc-stan.org/ Stan], a platform for statistical modeling and high-performance statistical computation.
Consider starting an interactive job for compiling. Just copy paste this to your shell (please only copy line by line so you see errors fast).


To be compatible with our R installation, we recommend to install the development version of rstan.

= Installation instructions =

Please enter the following code, presented in the boxes below, directly in your shell/command line on '''bwUniCluster2.0'''.

== Preparations ==
Installing <code>glmnet</code> involves compiling source code. Therefore, ensure that the following flags are set in <code>$HOME/.R/Makevars</code>:

<pre>
cat ~/.R/Makevars

CXX14=g++
CXX17=g++
CXX14FLAGS += -std=c++14
CXX17FLAGS += -std=c++17
CXXFLAGS = -O3 -fPIC -march=cascadelake -ffp-contract=off -fno-fast-math -fno-signed-zeros -fopenmp -Wno-unknown-warning-option
</pre>

If necessary, the appropriate compiler flags can be set by running the following lines of code:
<pre>
mkdir -p ~/.R
echo "CXX14=g++" > ~/.R/Makevars
echo "CXX17=g++" >> ~/.R/Makevars
echo "CXXFLAGS = -O3 -fPIC -march=cascadelake -ffp-contract=off -fno-fast-math -fno-signed-zeros -fopenmp -Wno-unknown-warning-option" >> ~/.R/Makevars
echo "CXX14FLAGS += -std=c++14" >> ~/.R/Makevars
echo "CXX17FLAGS += -std=c++17" >> ~/.R/Makevars
</pre>

Since installing <code>glmnet</code> involves compiling, we start an <b>interactive session</b> on one of the compute nodes:
<pre>
salloc -n 1 -t 30 -p dev_single
</pre>


Within the interactive session, load the R 4.4.1 module and provide configuration information to install the R package <code>v8</code>, rstan depends on.

<pre>
# Load the R software module:
module load math/R/4.4.1-mkl-2022.2.1-gnu-13.3

# Provide configuration information for the v8 R package
export DOWNLOAD_STATIC_LIBV8=1
</pre>

== Installing the R package(s) [takes roughly 20 min] ==
Now, start <code>R</code> and install <code>RStan</code> using the lines of code below:

<pre>
R -q
> install.packages("remotes")
> install.packages("RcppParallel")
> install.packages("V8")
> remotes::install_github("hsbadr/rstan/StanHeaders@develop", force = TRUE)
> remotes::install_github("hsbadr/rstan/rstan/rstan@develop", force = TRUE)
</pre>

== Testing the installation ==

To check whether the installation worked, make a test run in R
<pre>
<pre>
> library(rstan)
module load math/R
> example(stan_model, package = "rstan", run.dontrun = TRUE)
# Get sources
mkdir -p ~/src
cd ~/src
</pre>
</pre>

Latest revision as of 18:08, 30 October 2024

General information

rstan provides the R interface for Stan, a platform for statistical modeling and high-performance statistical computation.

To be compatible with our R installation, we recommend to install the development version of rstan.

Installation instructions

Please enter the following code, presented in the boxes below, directly in your shell/command line on bwUniCluster2.0.

Preparations

Installing glmnet involves compiling source code. Therefore, ensure that the following flags are set in $HOME/.R/Makevars:

cat ~/.R/Makevars

CXX14=g++
CXX17=g++
CXX14FLAGS += -std=c++14
CXX17FLAGS += -std=c++17
CXXFLAGS = -O3 -fPIC -march=cascadelake -ffp-contract=off -fno-fast-math -fno-signed-zeros -fopenmp -Wno-unknown-warning-option

If necessary, the appropriate compiler flags can be set by running the following lines of code:

mkdir -p ~/.R
echo "CXX14=g++" > ~/.R/Makevars
echo "CXX17=g++" >> ~/.R/Makevars
echo "CXXFLAGS = -O3 -fPIC -march=cascadelake -ffp-contract=off -fno-fast-math -fno-signed-zeros -fopenmp -Wno-unknown-warning-option" >> ~/.R/Makevars
echo "CXX14FLAGS += -std=c++14" >> ~/.R/Makevars
echo "CXX17FLAGS += -std=c++17" >> ~/.R/Makevars

Since installing glmnet involves compiling, we start an interactive session on one of the compute nodes:

salloc -n 1 -t 30  -p dev_single


Within the interactive session, load the R 4.4.1 module and provide configuration information to install the R package v8, rstan depends on.

# Load the R software module:
module load math/R/4.4.1-mkl-2022.2.1-gnu-13.3

# Provide configuration information for the v8 R package
export DOWNLOAD_STATIC_LIBV8=1

Installing the R package(s) [takes roughly 20 min]

Now, start R and install RStan using the lines of code below:

R -q
> install.packages("remotes")
> install.packages("RcppParallel")
> install.packages("V8")
> remotes::install_github("hsbadr/rstan/StanHeaders@develop", force = TRUE)
> remotes::install_github("hsbadr/rstan/rstan/rstan@develop", force = TRUE)

Testing the installation

To check whether the installation worked, make a test run in R

> library(rstan)
> example(stan_model, package = "rstan", run.dontrun = TRUE)