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 に答える