R

From FarmShare

(Difference between revisions)
Jump to: navigation, search
Line 4: Line 4:
Here's an example R file that generates a large array, fills it with some random numbers, then sleeps for 5mins. This happens to use up almost exactly 8GB of RAM.  
Here's an example R file that generates a large array, fills it with some random numbers, then sleeps for 5mins. This happens to use up almost exactly 8GB of RAM.  
-
<pre>[chekh@corn-image-new.stanford.edu] /mnt/glusterfs/chekh/R_test [0]
+
<source lang="r">
$ cat 8GB.R  
$ cat 8GB.R  
-
x &lt;- array(1:1073741824, dim=c(1024,1024,1024))  
+
x <- array(1:1073741824, dim=c(1024,1024,1024))  
-
x &lt;- gaussian()
+
x <- gaussian()
Sys.sleep(300)
Sys.sleep(300)
-
</pre>  
+
</source>
Here's an example SGE submit script that runs that R file.  
Here's an example SGE submit script that runs that R file.  
-
<pre>$ cat r_test.script
+
<source lang="sh">
#!/bin/bash
#!/bin/bash
Line 23: Line 23:
#$ -S /bin/sh
#$ -S /bin/sh
-
R --vanilla --no-save &lt; 8GB.R  
+
R --vanilla --no-save < 8GB.R  
-
</pre>  
+
</source>
 +
 
You can submit it with just  
You can submit it with just  
Line 69: Line 70:
-
&gt; x &lt;- array(1:1073741824, dim=c(1024,1024,1024))  
+
> x <- array(1:1073741824, dim=c(1024,1024,1024))  
-
&gt; x &lt;- gaussian()
+
> x <- gaussian()
-
&gt; Sys.sleep(300)
+
> Sys.sleep(300)
-
&gt;
+
>
</pre>  
</pre>  
Those errors about tty and job control have something to do with shell startup and terminal settings, and are normal. Or specify the 'sh' shell in your job script  
Those errors about tty and job control have something to do with shell startup and terminal settings, and are normal. Or specify the 'sh' shell in your job script  

Revision as of 18:00, 4 May 2012

Currently there's R 2.14.x installed from Ubuntu repos, and R 2.15.0 installed in FarmShare modules.

R Sample Job

Here's an example R file that generates a large array, fills it with some random numbers, then sleeps for 5mins. This happens to use up almost exactly 8GB of RAM.

$ cat 8GB.R 
x <- array(1:1073741824, dim=c(1024,1024,1024)) 
x <- gaussian()
Sys.sleep(300)

Here's an example SGE submit script that runs that R file.

#!/bin/bash

# use the current directory
#$ -cwd
# mail this address
#$ -M chekh@stanford.edu
# send mail on begin, end, suspend
#$ -m bes
# get rid of spurious messages about tty/terminal types
#$ -S /bin/sh

R --vanilla --no-save < 8GB.R

You can submit it with just

 qsub r_test.script

Here are the output files that I get, one from stderr, one from stdout

$ cat r_test.script.e497 
tset: standard error: Function not implemented

Undefined tty
stdin: is not a tty
$ cat r_test.script.o497 

Warning: no access to tty (Bad file descriptor). Thus no job control in this shell.


R version 2.12.1 (2010-12-16) Copyright (C) 2010 The R Foundation for Statistical Computing ISBN 3-900051-07-0 Platform: x86_64-pc-linux-gnu (64-bit)


R is free software and comes with ABSOLUTELY NO WARRANTY.


You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details.


R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications.


Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R.


> x <- array(1:1073741824, dim=c(1024,1024,1024)) > x <- gaussian() > Sys.sleep(300) >

Those errors about tty and job control have something to do with shell startup and terminal settings, and are normal. Or specify the 'sh' shell in your job script

 #get rid of spurious messages about tty/terminal types
#$ -S /bin/sh

In the mail that you get about the ending of the job, the maxvmem number is actually incorrect, it is a known bug in this version of SGE. The R script on this page actually uses 8GB of vmem.

Installing CRAN Packages

Most CRAN packages can be installed per-user by running install.packages() in an interactive session:

install.packages("package_name", dependencies = TRUE)

R initially attempts to install to /usr/local/lib/R, but will prompt for the creation of a library subdirectory in ~/R (if necessary) and fall back to installation there when the initial attempt fails. If your package requires dependencies available from the standard Ubuntu repositories you can submit a HelpSU ticket requesting installation.

Links

Some other departments have some other more detailed examples:

Personal tools
Toolbox
LANGUAGES