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]]