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