Revolution R

I came across Revolution R when I was reading up on Matrix EQTL. Apparently, Revolution R is a commercial version of R that has efficient optimization. And I believe it is fully compatible with standard R packages.

The important point to note is that the Enterprise version is freely available (free as in free beer and free as in open source) to academics. You need to register here and the download link is automatically forwarded to you. The software is available on Windows (32-bit and 64-bit version) and Redhat Enterprise. The latter could also be installed in machine running other  linux/unix distribution if it has a suitable package manager.

To test how much faster it could be, I calculated the time it took to multiply two largish matrices together (as suggested in Matrix EQTL appendix):

n <-4096
system.time( matrix(runif(n*n), nc=n) %*% matrix(runif(n*n), nc=n) )

On a 64-bit Machine with 3.07GHz processor, this took 6 seconds on Revolution R compared to 75 second on the standard R – that’s a factor of ten. With I increased n to 10000, it was 75 seconds vs. 17min. So in both examples, Revolution R has showed a pretty impressive 13-fold improvement in speed. Memory usage was similar but Revolution R peaked much faster.

Note: when installing Revolution R on a 64-bit machine, both the 32-bit and 64-bit versions on a 64-bit machine. Make sure you use the 64-bit version or otherwise your memory usage will be limited to under 4GB RAM.

 

PS: A long chat with my system admin actually revealed that you can achieve similar improvements in speed by linking against other scientific libraries. The one we have a license for is the Maths Kernel Library (MKL) from Intel.

Here are some further details:
http://cran.r-project.org/doc/manuals/R-admin.html#MKL
http://www.r-bloggers.com/compiling-64-bit-r-2-10-1-with-mkl-in-linux/


2 comments

  1. Pingback: Matrix eQTL: ultra fast eQTL analysis « Adaikalavan Ramasamy


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s