Revision of Swift help from Sun, 12/12/2010 - 10:33

The revisions let you track differences between multiple versions of a post.

Getting Started

All in one, the command line code is something like this

	mkdir $HOME/{RLibrary,RPackages}
	cd $HOME/RPackages
	wget <a href="http://www.ci.ucihcago.edu/~wilde/Swift_0.1.tar.gz<br />
" title="http://www.ci.ucihcago.edu/~wilde/Swift_0.1.tar.gz<br />
">http://www.ci.ucihcago.edu/~wilde/Swift_0.1.tar.gz<br />
</a>	R CMD INSTALL -l $HOME/RLibrary Swift_0.1.tar.gz
	export R_LIBS=$HOME/RLibrary
	SWIFT=$R_LIBS/swift
	PATH=$PATH:$PATH-to-recent-Sun-Java-bin-directory
	java -version # to verify your Java, ideally JRE or JDK 1.6+
	$SWIFT/exec/start-swift &
	R
	require(Swift)
	?Swift
	basicSwiftTest()

Step by step

  1. Make directories under $HOME for RLibrary and Rpackages and change directory (cd) to there:
    	  mkdir $HOME/{RLibrary,RPackages}
    	  cd $HOME/RPackages
     
  2. get the Swift package
    	wget <a href="http://www.ci.ucihcago.edu/~wilde/Swift_0.1.tar.gz<br />
    " title="http://www.ci.ucihcago.edu/~wilde/Swift_0.1.tar.gz<br />
    ">http://www.ci.ucihcago.edu/~wilde/Swift_0.1.tar.gz<br />
    </a>	R CMD INSTALL -l $HOME/RLibrary Swift_0.1.tar.gz
  3. Export the path to this library
    	export R_LIBS=$HOME/RLibrary
    	SWIFT=$R_LIBS/swift
    	PATH=$PATH:$PATH-to-recent-Sun-Java-bin-directory
  4. You may also need to add the path to R to your PATH variable
    /gluster/apps/contrib/R-2.9.0/bin:$PATH
  5. Verify your Java version
    	java -version # to verify your Java, ideally JRE or JDK 1.6+
  6. Start swift, leaving it hanging
    	$SWIFT/exec/start-swift &

    or should it be this??????

    start-swift -s pbsf -c 8 -n 1 -t 00:30:00 -q nopreempt

  7. set the GLOBUS_HOSTNAME to your ?what?
    128.143.22.63
  8. Open R and verify the ability to load and run Swift
    	R
    	require(Swift) <em># load the Swift package</em>
    	?Swift <em># read the help on Swift</em>
    	basicSwiftTest() <em># run a basic test</em>
  9. In your R session (which?) set the open to ?what? load OpenMx by default?
    set options(swift.initialexpr = "library(OpenMx)")

Try the examples of swiftapply() and swiftLapply() in the Swift help page, and then try your own tests, including using OpenMx.

Also, the Swift/R/Swift.R file has an initial set of Swift tests. These are being reworked to put each test in a separate function, but scanning and trying these tests manually may give you some indications of how things work.

swiftLapply() should work just like the Snowfall equivalent sfApply().

OpenMx test BootstrapParallel.R works for me. We can soon I think allow swiftLapply() to cover any function, not just mxRun(). And I will implement the rest of the apply() family, sapply etc.

There are 3 styles of Swift server that should work for you: local, multiple hosts, and PBS cluster. I have tested the latter on Merlot.

To use one of the documented servers (ssh, pbsf) you need to set Swift to talk to that server by doing this option setting *before* running anything that calls swiftapply():

options(swift.server="pbsf") # or "local" or "ssh"

Examples

swiftapply() and swiftLapply() in the Swift help page, and then try your own tests, including using OpenMx.

swiftLapply() should work just like the Snowfall equivalent sfApply().

Swift Server

3 styles of Swift server should work: local, multiple hosts, and PBS cluster

To use one a server (ssh, pbsf), you need to set Swift to talk to that server by setting:

options(swift.server="pbsf") # or "local" or "ssh"

note: This option must be set before running anything that calls swiftapply()