8

snow::parLapplyパッケージ(つまり、以外のパッケージ)に依存するコードを並列化(使用)しようとしていますsnow。によって呼び出される関数で参照されるオブジェクトは、parLapplyを使用してクラスターに明示的に渡す必要がありますclusterExport。すべての関数(ユーザー関数によって呼び出されるパッケージの内部関数を含む)に明示的に名前を付けるのではなく、パッケージ全体をクラスターに渡す方法はありますclusterExportか?

4

1 に答える 1

7

すべてのノードにパッケージをインストールしlibrary(thePackageYouUse)、使用可能なコマンドの1つを介してすべてのノードでコードを呼び出します。

 clusterApply(cl, library(thePackageYouUse))

最近のRリリースに付属しているパッケージには例があると思います。parallelたとえばhelp(clusterApply)bootパッケージがどこにでもロードされている場所を参照してください。

 ## A bootstrapping example, which can be done in many ways:
 clusterEvalQ(cl, {
   ## set up each worker.  Could also use clusterExport()
   library(boot)
   cd4.rg <- function(data, mle) MASS::mvrnorm(nrow(data), mle$m, mle$v)
   cd4.mle <- list(m = colMeans(cd4), v = var(cd4))
   NULL
 })
于 2012-09-02T01:12:55.227 に答える