BwUniCluster2.0/Software/R/stringi

From bwHPC Wiki
Jump to navigation Jump to search

Note that the instructions provided below refer to R 4.4.1 (but not R 4.2.1)! We are currently updating our guides for R 4.3.3.

General information

stringi is an R package for fast, portable, correct, consistent, and convenient string/text processing in any locale or character encoding.

Installation

Please enter the code, presented in the boxes below, directly in your shell/command line on bwUniCluster:

Preparations

Prepare an .R/Makevars file (if it does not already exist). This file specifies how R should compile the packages (i.e., sets some 'compiler flags').

If an .R/Makevars file is present in your home directory ($HOME), check whether the flags displayed below are set and apply adjustments, if necessary:

cat ~/.R/Makevars

CXX14=g++ 
CXX17=g++
CXXFLAGS = -O3 -fPIC -mavx -mavx2 -mavx512f -msse4.2 -ffp-contract=off -fno-fast-math -fno-signed-zeros -fopenmp -Wno-unknown-warning-option
CXX14FLAGS += -std=c++14
CXX17FLAGS += -std=c++17

Please run the following lines of code to set the appropriate flags, if necessary:

mkdir -p ~/.R
echo "CXX14=g++" > ~/.R/Makevars
echo "CXX17=g++" >> ~/.R/Makevars
echo "CXXFLAGS = -O3 -fPIC -mavx -mavx2 -mavx512f -msse4.2 -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

Installing the R package

We can now install stringi (in its development version) and its dependencies within a R session

R -q
> install.packages("stringi")

Testing the installation

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

> library(stringi)
> stri_length(c("Hello", "world", "!"))
[1] 5 5 1


Note that you always need to load

module load math/R/4.1.2
module load lib/icu4c/74.1_intel2021.4.0

to your batch job scripts that use stringi or to run them directly in the command line if you use an interactive session.