Difference between revisions of "LGI/Rlgi"

From BiGGrid Wiki
Jump to navigation Jump to search
Line 1: Line 1:
Rlgi is a package for the [http://www.r-project.org/ programming language R] to seamlessly run on an [[LGI]] grid. In usage it is similar to the R package [http://cran.r-project.org/web/packages/Rsge/index.html Rsge].
+
Rlgi is a package for the [http://www.r-project.org/ programming language R] to seamlessly run on an [[LGI]] grid. Instead of using the family of <tt>apply</tt> functions on a heavy computation, you use one of the <tt>lgi.par?apply</tt> functions. This splits the data in chunks, and runs them on several nodes on the LGI grid. In usage it is similar to the R package [http://cran.r-project.org/web/packages/Rsge/index.html Rsge].
  
This package is being developed at [https://github.com/wvengen/Rlgi github]. More info will follow when it's ready.
+
===Getting started===
 +
# Obtain your LGI credentials.
 +
#* These are supplied by your service provider (like [http://www.biggrid.nl/ BiG Grid]). They either give you
 +
#** A login for the LGI portal. You'll be able to download a credentials file from the ''Settings'' menu, or
 +
#** the <tt>LGI.cfg</tt> credentials file directly.
 +
#* Store this file as <tt>LGI.cfg</tt> in your home directory ''(Unix/Mac)'' or your profile directory ''(Windows)''.
 +
# Install the Rlgi package.
 +
#* ''(Windows only)'' install the following packages: <tt>bitops</tt>, <tt>snow</tt>, <tt>XML</tt> and <tt>RCurl</tt>
 +
#* [https://github.com/downloads/wvengen/Rlgi/Rlgi_0.0.7.tar.gz Download] and save the Rlgi package
 +
#* Install this package: <tt>R CMD INSTALL Rlgi_0.0.7.tar.gz</tt>
  
 
===Example session===
 
===Example session===
Line 27: Line 36:
 
   [1] 1000 1331 1728 2197 2744 3375 4096 4913 5832 6859 8000
 
   [1] 1000 1331 1728 2197 2744 3375 4096 4913 5832 6859 8000
 
</code>
 
</code>
 +
 +
 +
===Moving your credentials file===
 +
 +
If you find the location of <tt>LGI.cfg</tt> in your home directory disturbing, you can move it to another place. In that case, you'll have to load the configuration after loading Rlgi, like this:
 +
  library(Rlgi)
 +
  lgi.readConfig(path.expand("~/.config/LGI.cfg"));
 +
 +
Alternatively, you can use the <tt>~/.LGI</tt> configuration directory, as explained [https://github.com/wvengen/Rlgi/blob/master/QUICKSTART here].
 +
 +
 +
===Further information===
 +
This package is being developed at [https://github.com/wvengen/Rlgi github].

Revision as of 14:59, 31 August 2011

Rlgi is a package for the programming language R to seamlessly run on an LGI grid. Instead of using the family of apply functions on a heavy computation, you use one of the lgi.par?apply functions. This splits the data in chunks, and runs them on several nodes on the LGI grid. In usage it is similar to the R package Rsge.

Getting started

  1. Obtain your LGI credentials.
    • These are supplied by your service provider (like BiG Grid). They either give you
      • A login for the LGI portal. You'll be able to download a credentials file from the Settings menu, or
      • the LGI.cfg credentials file directly.
    • Store this file as LGI.cfg in your home directory (Unix/Mac) or your profile directory (Windows).
  2. Install the Rlgi package.
    • (Windows only) install the following packages: bitops, snow, XML and RCurl
    • Download and save the Rlgi package
    • Install this package: R CMD INSTALL Rlgi_0.0.7.tar.gz

Example session

 > library(Rlgi)
 Loading required package: snow
 Loading required package: XML
 Welcome to Rlgi
     Version: 0.0.7
 
 > # non-cluster-aware call, runs locally
 > sapply(c(10:20), function(x){x^3})
  [1] 1000 1331 1728 2197 2744 3375 4096 4913 5832 6859 8000
 
 > # use Rlgi's function to do sapply, but run locally for testing
 > lgi.parSapply(c(10:20), function(x){x^3}, cluster=FALSE)
 [Rlgi] Running locally
  [1] 1000 1331 1728 2197 2744 3375 4096 4913 5832 6859 8000
 
 > # now run remotely, block until all computations are finished
 > lgi.parSapply(c(10:20), function(x){x^3})
 [Rlgi] Submitting 1 jobs...
 [Rlgi] All jobs submitted, waiting for completion.
 [Rlgi] Waiting for jobs:   0 queued;    0 running;   1 other      
  [1] 1000 1331 1728 2197 2744 3375 4096 4913 5832 6859 8000


Moving your credentials file

If you find the location of LGI.cfg in your home directory disturbing, you can move it to another place. In that case, you'll have to load the configuration after loading Rlgi, like this:

 library(Rlgi)
 lgi.readConfig(path.expand("~/.config/LGI.cfg"));

Alternatively, you can use the ~/.LGI configuration directory, as explained here.


Further information

This package is being developed at github.