Использование sourceCpp
, похоже, не работает с parallel. Как я могу вызвать функцию Rcpp
в кластере parallel
?
Мой пример:
test.cpp
файл:
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
NumericVector timesTwo(NumericVector x) {
return x * 2;
}
И файл R
:
library(parallel)
library(Rcpp)
sourceCpp("test.cpp")
timesTwo(1)
# [1] 2
cl <- makeCluster(2)
clusterEvalQ(cl, {
library(Rcpp)
sourceCpp("test.cpp")
timesTwo(1)
})
# Error in checkForRemoteErrors(lapply(cl, recvResult)) :
# 2 nodes produced errors; first error: Error 1 occurred building shared library.
stopCluster(cl)