Using OpenMx with Xgrid
Posted on

Forums
There seems to be a problem with how OpenMx and Xgrid interact. I have three machines on my Xgrid, each of which has no problem running OpenMx. After submitting jobs, the R scripts come back with the following errors:
> require(OpenMx)
Loading required package: OpenMx
Loading required package: snowfall
Loading required package: snow
Error in dirCreateStop(.sfOption$RESTDIR) :
UNABLE to create directory: /var/empty/.sfCluster/restore
In addition: Warning message:
In dir.create(dir, recursive = TRUE) :
cannot create dir '/var/empty/.sfCluster', reason 'Permission denied'
And the script terminates with:
Error: could not find function "mxModel"
Execution halted
I can load snow and snowfall w/out issue.
Hmm, the snowfall library
Hmm, the snowfall library tries to create a .sfCluster directory where it stores some runtime information. I encourage you to try using the snowfall package to run OpenMx in a cluster environment. Currently any independent submodels (independent = TRUE in mxModel) are executed concurrently using snowfall. However, with regards to solving your original problem, I poked around the snowfall source code. Try adding the following argument to the R command line:
R --restdir /path/to/writable/directory --tmpdir /path/to/another/directory
Log in or register to post comments
In reply to Hmm, the snowfall library by mspiegel
might add onto the ?mxModel
might add onto the ?mxModel help:
independent logical. If TRUE then the model is independent (models must be independent if you wish them to execute concurrently in snowfall)
What does the default value of NA cause?
Log in or register to post comments
In reply to Hmm, the snowfall library by mspiegel
Thanks for the suggestions. I
Thanks for the suggestions. I think it is going to take me a while to figure out how to set up my computers so that I can use snowfall with Xgrid. Right now I'm just using a script to create multiple folders using R (each of which has a .sh file calling R) which I turn over to the Xgrid using a loop.
I didn't have luck with your path suggestion, but I am probably doing it incorrectly. My original R call was "/usr/bin/R CMD BATCH SimJob.R".
Is there an option to get OpenMx to not use snow & snowfall?
Log in or register to post comments
In reply to Thanks for the suggestions. I by pdeboeck
Try instead, R --vanilla
Try instead,
R --vanilla --slave --restdir /path/to/writable/directory --tmpdir /path/to/another/directory < SimJob.R
There is currently not an option to turn off snow & snowfall. But we can add one, if it turns out to be necessary.
Log in or register to post comments
In reply to Try instead, R --vanilla by mspiegel
I got warnings that
I got warnings that '--restdir' and '--tmpdir' are unknown options and that they would be ignored.
Log in or register to post comments
In reply to I got warnings that by pdeboeck
Doh. Argument have to be of
Doh. Argument have to be of the form "--name=value" (so sayith a comment inside the snowfall source code). Try inserting an '=' between the name and value on the command line.
Log in or register to post comments
In reply to Doh. Argument have to be of by mspiegel
I think that did it ---
I think that did it --- thanks! For anyone who runs into the same problem:
My original .sh file:
#!/bin/sh
/usr/bin/R CMD BATCH SimJob.R
My new .sh file:
#!/bin/sh
/usr/bin/R --vanilla --slave --restdir=var/empty/.sfCluster/restore --tmpdir=tempdir < SimJob.R
Log in or register to post comments
In reply to I think that did it --- by pdeboeck
Cool! Let us know how the
Cool! Let us know how the sim worked.
Log in or register to post comments
In reply to Cool! Let us know how the by Steve
Looks like this is the end of
Looks like this is the end of an era. No longer will I be using system() to farm out jobs to Mx, using grep to check for code reds, and subsequently reading the results using scan().
The Xgrid simulation seems to have gone fine, although I won't get a chance to look at the results until later this week. The simulation consisted of comparing two statistics using 2400 conditions, 1000 repetitions each, on a 24 processor Xgrid.
Log in or register to post comments