<div dir="ltr">Hello, I am new in this distribution list. I am using Rcpp and RcppArmadillo for my project.<div><br></div><div>Now, I will have access to a relatively big computer, with both CPUs and GPUs. And I want to take advantage of it.</div><div><br></div><div>So far, I am calling from C++ a R function (the nls.lm from minpack.lm, which is a port of MINPACK, in Fortran, for the Levenberg-Marquardt nls optimization). This call is pretty fast, so I am happy.</div><div><br></div><div>When I learned something like RcppParallel and RcppArrayFire existed, I was quite happy. But then I saw that RcppParallel does not allow R calls, and RcppArrayFire does not work on Windows (I am planning to have a Linux partition soon on my personal computer, though).</div><div><br></div><div>So, the planning to do parallel calculations from C++ has gone down a bit. For sure, I can do parallel calculations from R (and my R functions may use Rcpp). But ideally, I would like to do all the calculations from C++, if possible, especially on production.</div><div><br></div><div>Note: I know in RcppEigen there is a C++ port for the Levenberg-Marquardt implementation. But again, this is just luck. Maybe next time I will need the equivalent of an R function, and this function does not exist in C++. I really would like to be able to call R functions from C++.</div><div><br></div><div>Also, I do not know how the ArrayFire implementation works, and especially, how it relates to parallel calculations (and I do not know if I can call R functions from RcppArrayFire, either, as it happens with RcppParallel). Is it possible to use both parallel calculations and GPU calculations by using Rcpp and its relatives?</div><div><br></div><div>I know my questions are not Rcpp per se, but they take into account other, related packages. But I think there is no "devel distribution list" for these other packages, so for this reason I ask here.</div><div><br></div><div>So, my question is: how do you use Rcpp in relation to parallel and GPU calculations? Do you use Rcpp single threaded, and then do parallel from R? Or do you use RcppParallel and / or RcppArrayFire? If so, how do you cope with the "loss" of not being able to call R functions? And also if so, is it possible that RcppParallel and RcppArrayFire work together?</div><div><br></div><div>Thank you in advance for your guidance.</div><div><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Jordi Molins i Coronado</div><div><div>+34 69 38 000 59</div></div></div></div></div></div></div></div></div>