BwUniCluster2.0/Software/R/stringi
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 already 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
In this case, skip the following block of five commands. If this is not the case, enter the following commands in your shell (command line).
mkdir -p ~/.R echo "CXX14=icpc" >> ~/.R/Makevars echo "CXX17=icpc" >> ~/.R/Makevars echo "CXX14FLAGS=-O3 -fPIC -std=c++14 -wd308 -axCORE-AVX512,CORE-AVX2,AVX -xSSE4.2 -fp-model strict -qopenmp" >> ~/.R/Makevars echo "CXX17FLAGS=-O3 -fPIC -std=c++17 -wd308 -axCORE-AVX512,CORE-AVX2,AVX -xSSE4.2 -fp-model strict -qopenmp" >> ~/.R/Makevars echo "CXXFLAGS += -wd308" >> ~/.R/Makevars echo "PKG_CXXFLAGS += -std=c++14 -wd308" >> ~/.R/Makevars
The installation of stringi makes use other libraries (C/C++ and Java libraries for Unicode and globalization, icu4c Intel) which need to be loaded before installation (and R, of course).
module purge module load math/R module load lib/icu4c/74.1_intel2021.4.0
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.