[Rcpp-devel] Inline and Parallel computing
Marie Auger-Methe
marie.augermethe at gmail.com
Thu Apr 19 17:11:27 CEST 2012
Hi list,
sorry for bombarding the list with questions.
I'm trying to use Rcpp via the inline package and to use parallel
computing at the same time. But I get this error:
first error: NULL value passed as symbol address
I've read a few posts (not related to parallel computing) discussing this error but I couldn't link it back to my specific problem.
Here is an example:
library(inline)
library(parallel)
# A silly Rcpp function
sillyscr<- '
int x = as<int>(i);
double y = 5.6;
NumericVector j(1);
j[0] = x + y;
return j;
'
silly<- cxxfunction(signature(i = "int"), body = sillyscr, plugin = "Rcpp")
silly(1) # Works!
# Equivalent function in R to make sure the problem is not the parallel computing
silly_notcpp<- function(i){
j<- i +5.6
return(j)
}
silly_notcpp(1) # Works !
M<- detectCores()
cl<- makeCluster(M)
clusterExport(cl, varlist=list("silly","silly_notcpp"))
res1<- parSapply(cl, 1:10,silly_notcpp) # Works!
res1
res2<- parSapply(cl, 1:10,silly) # Does not work !
res2
stopCluster(cl)
Many thanks!
Marie
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20120419/4e07e85a/attachment.html>
More information about the Rcpp-devel
mailing list