Someone kindly pointed out that it is not clear from my email why Depends
will not work.  A more complete example is:

PkgA:
f <- function(ncores) {
  cl <- makeCluster(ncores)

  clusterEvalQ(cl, {
    require(PkgB)
  })
  [other code]

  ### this is the code I want to work and need to be able to call
  ### PkgB functions on each of the cluster slaves
  output <- parLapply(cl, 1:n, function(i) {
    [code from my package and using some functions from PkgB]
  })

}

As far as I know, just because I add PkgB to the Depends (or imports,
whatever) of PkgA, does not mean that the cluster started by PkgA will
automatically have PkgB loaded and functions available.

Thanks!



On Fri, Aug 8, 2014 at 9:35 AM, Joshua Wiley <jwiley.psych@gmail.com> wrote:

> Dear All,
>
> What is the preferred way for Package A, to initialize a cluster, and load
> Package B on all nodes?
>
> I am writing a package that parallelizes some functions through the use of
> a cluster if useRs are on a Windows machine (using parLapply and family).
>  I also make use of another package in some of my code, so it is necessary
> to load the required packages on each slave once the cluster is started.
>
> Right now, I have done this, by evaluating require(packages) on each
> slave; however, Rcmd check has a note that I should remove the "require" in
> my code.
>
> Thanks!
>
> Josh
>
> --
> Joshua F. Wiley
> Ph.D. Student, UCLA Department of Psychology
> http://joshuawiley.com/
> Senior Analyst, Elkhart Group Ltd.
> http://elkhartgroup.com
> Office: 260.673.5518
>



-- 
Joshua F. Wiley
Ph.D. Student, UCLA Department of Psychology
http://joshuawiley.com/
Senior Analyst, Elkhart Group Ltd.
http://elkhartgroup.com
Office: 260.673.5518

	[[alternative HTML version deleted]]

