Andrew Crane-Droesch
2013-Feb-01 07:33 UTC
[R] R code parallelized using plyr and doMC: error message: Error in do.ply(i) : task 1 failed - “could not find function ”getClass“”
Dear list,
I'm just getting started learning how to use remote supercomputers for
execution of parallelized code. I got a lot of initial help from this
<http://stackoverflow.com/questions/14553357/parallelizing-on-a-supercomputer-and-then-combining-the-parallel-results-r>
previous post, as well as one particularly helpful and patient XSEDE guy.
I'm only using one node (for the meantime), but each of its 32 cores.
I'm using doMC instead of snow, because the guy at the supercomputer is
in the process of getting Rmpi running. For now, 32 cores should be
(more than) adequate for me. My script is of the sort:
|define a bunch of functions
load the data
call libraries
require(doMC)
require(plyr)
registerDoMC(32)
main.function <- function(data){
*thefunction*
}
results= llply(1:500,
function(idx){out<-main.function(data)},.parallel=TRUE)
save(results,file="trestles_results")|
This runs fine on my own machine (setting it to run only a few times and
registering only a couple of cores). But when I run it on the cluster,
the output file shows that it ran each of the 500 iterations, but I get
no output file, and I get the following error message:
|Error in do.ply(i) : task1 failed- "could not find
function"getClass""
Calls: llply-> %dopar% -> <Anonymous>
Execution halted
Nodes: trestles-10-28|
Anybody have any idea what is going on here?
Thanks in advance!
Andrew
PS: (Apologies for cross posting, this is also on stack overflow)
[[alternative HTML version deleted]]
