[Rcpp-devel] Stack imbalance warning when using Rcpp and OpenMP

Michael Braun braunm at MIT.EDU
Wed Jul 27 19:33:49 CEST 2011


I want to avoid making a copy of the entire list (my real-world application might have lots of different elements for each element of the "master" list).  But what works fine is if, within the loop, I do the Rcpp-to-double conversion, and then call a version of the function that takes a double as an argument, instead of the SEXP.  So I think there is something going on with passing the SEXP to func, and then using Rcpp::as to convert the SEXP to double.

Is this close to what you are asking?


On Jul 27, 2011, at 1:26 PM, Davor Cubranic wrote:

> On 2011-07-26, at 8:01 PM, Michael Braun wrote:
> 
>> Dirk:
>> 
>> I am sorry I was not clearer about what I am trying to accomplish.  The issue is with operating on elements of an Rcpp::List object in parallel.  
> 
> Can you copy the list to a regular double array or std::vector, operate on that in your parallel loop (taking care to avoid any bits of R interpreter since it's single-threaded), and then outside the loop wrap/copy that into an R data structure that you can return as the result of the function?
> 
> Davor
> 




More information about the Rcpp-devel mailing list