[Rd] invoking R function in C++ in parallel

Zheng Da
Sat, 31 Jan 2015 23:30:03 -0000

Hello,

I'm writing an R extension in C++. In the extension, I want to invoke
an R function directly and it works when I use Rcpp in the serial
code. But what I really want is to invoke the R function in parallel
with openmp. When I do so, I got segmentation fault.

I remember someone said that R isn't thread-safe. I think it's also
understandable because an R function also has environment variables.

My question is:
Can we make a copy of an R function (including its environment
variables) for each thread?
Are there any ways to invoke an R function in C/C++ in multiple threads safely?

Thanks,
Da