Revision of Swift help from Thu, 12/09/2010 - 12:22

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

Getting Started

  1. Make directories under $HOME for RLibrary and Rpackages and go 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. Verify your Java version
    	java -version # to verify your Java, ideally JRE or JDK 1.6+
  5. Start swift, leaving it hanging
    	$SWIFT/exec/start-swift &
  6. Open R and verify the ability to load and run Swift
    	R
     
    	require(Swift)
    	?Swift
    	basicSwiftTest()

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"