Not that I've had a chance to really look at the problem, but I've removed outer loops using parLapply from the parallel package. Works great.
On Mon, Aug 6, 2012 at 11:41 AM, Jie <jimmycl...@gmail.com> wrote: > After searching online, I found that clusterCall or foreach might be the > solution. > > Best wishes, > Jie > > On Sun, Aug 5, 2012 at 10:23 PM, Jie <jimmycl...@gmail.com> wrote: > > > Dear All, > > > > Suppose I have a program as below: Outside is a loop for simulation (with > > random generated data), inside there are several sapply()'s (10~100) over > > the data and something else, but these sapply's have to be sequential. > And > > each sapply do not involve very intensive calculation (a few seconds > only). > > So the outside loop takes minutes to finish one iteration. > > I guess the better way is not to parallel sapply but the outer loop. > > But I have no idea how to modify it. I have a simple code here. Only two > > sapply's involved for simplicity. The logical in the sapply is not > > important. > > Thank you for your attention and suggestion. > > > > library(parallel) > > library(MASS) > > result.seq=c() > > Maxi <- 100 > > for (i in 1:Maxi) > > { > > ## initialization, not of interest > > Sigmahalf <- matrix(sample(1:10000,size = 10000,replace =T ), 100) > > Sigma <- t(Sigmahalf)%*%Sigmahalf > > x <- mvrnorm(n=1000, rep(0, 10), Sigma) > > xlist <- list() > > for (j in 1:1000) > > { > > xlist[[j]] <- list(X = matrix( x [j, ],5)) > > } > > ## end of initialization > > > > dd1 <- sapply(xlist,function(s) {min(abs((eigen(s$X))$values))}) > > ## > > sumdd1=sum(dd1) > > for (j in 1:1000) > > { > > xlist[[j]]$dd1 <- dd1[j]/sumdd1 > > } > > ## Assume dd2 and dd1 can not be combined in one sapply() > > dd2 <- sapply(xlist, function(s){min(abs((eigen(s$X))$values))+s$dd1}) > > result.seq[i] <- sum(dd1*dd2) > > > > } > > > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.