<div dir="ltr">Thank you, Dirk. For sure I will follow your advice, and I will try / experiment. From your comment, I will probably try RcppArrayFire first, rather than RcppParallel.<div><br></div><div>In relation to doing "CPU x GPU": what would happen if I have 3 variables to be parallelized (independent from each other, no interdependencies) and then I create an R function, using RcppArrayFire, to GPU-parallelize two of them. Then, I use foreach (or similar) in R to CPU-paralellize the third one (and for each variable of the third one, the R function is called, and then internally, RcppArrayFire uses GPUs).</div><div><br></div><div>Would this scheme work? Or is there anything that blocks the combination of CPU and GPU, even when CPU and GPU calculations are encapsulated and they "do not see each other"?</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><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Sat, Sep 22, 2018 at 5:34 PM Dirk Eddelbuettel <<a href="mailto:edd@debian.org">edd@debian.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Jordi,<br>
<br>
RcppParallel uses _thread_ parallelism on the CPU. RcppArrayFire can use that<br>
too, but can also use two GPU related mechanisms.  But those do not give you<br>
extra CPUs, so in short you cannot do "CPU x GPU".<br>
<br>
None of this is Rcpp specific.  But the respective articles on the<br>
RcppGallery are very good.  Try by replicating their results.  Then<br>
experiment.<br>
<br>
Just keep reading, and trying / experimenting.  A lot of this is best learned<br>
by trial and error, along with background reading.<br>
<br>
Dirk<br>
<br>
-- <br>
<a href="http://dirk.eddelbuettel.com" rel="noreferrer" target="_blank">http://dirk.eddelbuettel.com</a> | @eddelbuettel | <a href="mailto:edd@debian.org" target="_blank">edd@debian.org</a><br>
</blockquote></div>