The cluster runs on RedHat RHEL 6, which is too old to support the new versions of R. The principal weakness is the older gcc compiler in RHEL6.
In the cluster, however, we have access to much newer Intel MKL compiler and math libraries, so the R program, and the things on which it relies, can be built with the Intel compiler. It appears as though we can stay up to date with the troublesome R modules like Rstan, Rcpp, RcppArmadillo.
Wes Mason of ITTC worked this out for us. The scheme we are testing now can be accessed as follows.
For people in the crmda user group, try this interactively
$ module purge $ module use /panfs/pfs.local/work/crmda/tools/modules $ module load Rstats/3.3
After that, observe
$ R > library("rstan") Loading required package: ggplot2 Loading required package: StanHeaders rstan (Version 2.14.2, packaged: 2017-03-19 00:42:29 UTC, GitRev: 5fa1e80eb817) For execution on a local, multicore CPU with excess RAM we recommend calling rstan_options(auto_write = TRUE) options(mc.cores = parallel::detectCores())
We are still in a testing phase on this setup, surely there will be problems. I do not understand what is necessary to compile new R packages with this setup. We don't want packages built with gcc if we can avoid it, there is always danger of incompatability when shared libraries are built with different compilers.
But the key message is still encouraging. Even though the OS does now have the needed parts, there is a work around.
Why is this "Revolution R"? The company Revolution R, which was later purchased by Microsoft, popularized the use of the Intel MKL on Ubuntu Linux. A version of R built with Intel's compiler was used, with permission, on Ubuntu in 2012. The version of R we are using now goes by the moniker "MRO". Can you guess what the M and the R stand for?