簡體   English   中英

Rcpp 和並行

[英]Rcpp and parallel

我有一個 Rcpp 例程,它被賦予 R function,然后進行各種計算。 當這樣運行時,它工作得很好。 現在我想並行運行它,然后我得到錯誤

checkForRemoteErrors(lapply(cl, recvResult)) 錯誤:4 個節點產生錯誤; 第一個錯誤:NULL 值作為符號地址傳遞

一個玩具示例在這里。 該例程應該從正態分布生成 10 個觀察值,並將平均值作為參數傳遞:

Rcpp 代碼:

#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
NumericVector tst(Function f, double m) {
   NumericVector out=f(m);
   return out;
}

和運行

f=function(m) {rnorm(10, m)}
tst(f, 5)

工作良好。 但嘗試

cl <- makeCluster(4)
z=clusterCall(cl, tst, f, 5)

導致錯誤。

在真正的例程中,f 可以是任何生成數據的例程,甚至不是基數 R 的一部分。

沃爾夫岡

我以前讀過很多關於這個主題的討論,甚至創建了一個 package,但一直收到錯誤消息。 我現在正在運行它,盡管我不確定之前的問題是什么。

無論如何,感謝您的答復!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM