since the latest Ubuntu release (karmic koala), I noticed that the internal R package advertises on start-up the REvolution package. It seems to be a library collection for high-performance matrix calculations. And it seems to really work, apparently. For example on a matrix transposition with REvolution:
> system.time(t(matrix(rnorm(10000000),ncol=1000)))
user system elapsed
1.280 0.150 1.556
And without REvolution:
> system.time(t(matrix(rnorm(10000000),ncol=1000)))
user system elapsed
1.320 0.170 1.725
Is anyone using it? Is it really working? Which specific types of calculation is it improving and how? Any drawback?
Thanks :-)
Microsoft R Open is a complete open source platform for statistical analysis and data science, which is free to download and use.
Microsoft R Open is the enhanced distribution of R from Microsoft Corporation. It is a complete open source platform for statistical analysis and data science. The current version, Microsoft R Open 4.0. 2, is based on (and 100% compatible with) R-4.0.
RStudio Server enables you to provide a browser based interface to a version of R running on a remote Linux server, bringing the power and productivity of the RStudio IDE to server-based deployments of R. Do you need support or a commercial license? Compare our commercial and open source products.
Yes, on a multicore machine, the Intel MKL libraries implementing the BLAS -- and provided by the package revolution-mkl
and turned-on by package r-revolution-revobase
will work in parallel for linear algebra problems, and you should see a difference to the base case of using just the libblas* packages.
However, your example above is not that significant, I often do something like
mean(replicate(N, system.time( someStuffHere() )["elapsed"]), trim=0.05)
to compute a trimmed mean over a number of replications.
More importantly, note that your example includes the RNG draws in the timings which are
i) expensive, and ii) invariant to the method used so you should generated that outside of system.time()
.
Besides the MKL, revolution-r
also brings in some of the REvolution-authored packages from CRAN that can be used for parallel execution.
(Disclaimer: I helped REvo in putting this together for Ubuntu 9.10)
See this blog post from REvolution for more information. REvolution R 3.0 should be 100% compatible to R-2.9.2 from CRAN. Basically, they use multi-threaded, high performance linear algebra libraries and optimizing compilers. REvolution enhancements include:
There are some benchmarks on the REvolution webpage: REvolution R Performance and Simple Benchmarks.
Although they have contributed several interesting extensions to the R community under an OSS license (foreach, iterators, doSNOW, and doMC), the MKL extension is proprietary.
Personally, I've switched to (CRAN) R 2.10.0 to have the latest R features.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With