<div dir="ltr">Hi Emmanuel,<div><br></div><div>As Dirk mentioned, I am involved in making GPU computing as portable and accessible as possible.  Depending on your needs, most functionality may already be implemented in my gpuR package (<a href="https://cran.r-project.org/package=gpuR">https://cran.r-project.org/package=gpuR</a>).  It is an OpenCL backend so it can be installed essentially anywhere for any hardware.  It also has new functionality to accept custom, user provided OpenCL kernels to extend to non-implemented operations.  That said, I am working on setting up the CUDA backend.  I have had some success with Linux systems but trouble with Windows.  The main problem with that, as you may have discovered, is that NVIDIA's nvcc compiler requires the use of cl.exe on Windows systems.  This prevents the normal use of Rtools mingw functions.  As such, I am still looking in to how I can create a solid configure script for Windows systems so that cl.exe can be used instead of g++.  If I can be of help, feel free to reach out.  I need a bit more dedicated time to sort out Windows but I have been quite busy as of late.</div><div><br></div><div>Regards,</div><div>Charles</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jan 21, 2018 at 9:32 AM, Emmanuel Hamel <span dir="ltr"><<a href="mailto:manu.hamel@gmail.com" target="_blank">manu.hamel@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>Thank you for your answer! I am already able to use the OpenMP-style without RcppParallel, thanks to some examples given in the Rcpp community. I will have a look at the RViennaCL.</div><div><br></div><div>For my problem, the compiler is not important. I just mentioned the one I use as an example. However, I really have to use Windows. </div><div><br></div><div>Best regards,</div><div><br></div><div>Emmanuel</div><div>  </div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">2018-01-21 10:26 GMT-05:00 Dirk Eddelbuettel <span dir="ltr"><<a href="mailto:edd@debian.org" target="_blank">edd@debian.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span><br>
On 21 January 2018 at 09:55, Emmanuel Hamel wrote:<br>
| Hope you are all feeling good. I have a question. First, I use windows and<br>
<br>
</span>Never the easiest platform (in my very personal view).<br>
<span><br>
| I want to use OpenACC. For the moment, I am able to compile GPU Cuda C code<br>
| with Microsoft visual studio and call it from a DLL in Windows. Also, I am<br>
| able to use OpenMP with the Rcpp package. Nevertheless, I want to extend<br>
| these possibilities for a project regarding dynamic hedging program for<br>
| segregated funds. Hence, I would like to know if you have any tips<br>
| regarding the use of OpenACC in Rcpp. In particular, what are the files<br>
<br>
</span>I am not aware of anyone using it now.  That said, it would be nice to have.<br>
<span><br>
| that I need to modify in a RStudio project in order to be able to compile<br>
| pragma commands with the OpenACC compiler? For the moment, I use the PGI<br>
| compiler.<br>
<br>
</span>That puts a third constraint up.  Which, in aggregate, makes it even less<br>
likely that someone is doing this already.<br>
<br>
A few people use Rcpp together with CUDA code.  Charles has been working on<br>
RViennaCL which is another "portable" approach for multiple backends:<br>
<br>
  <a href="https://cran.r-project.org/package=RViennaCL" rel="noreferrer" target="_blank">https://cran.r-project.org/pac<wbr>kage=RViennaCL</a><br>
<br>
He may be following up here too in a day or two.<br>
<br>
Other than that, RcppParallel exists, is fairly widely used, and gives you<br>
higher-level abstractions for OpenMP-style parallelism.  No GPU though.<br>
<br>
So in short if you need<br>
  - OpenACC<br>
  - on Windows<br>
  - with PGI<br>
you may have to roll up your sleeves and build it.  We will help as we can.<br>
<br>
If it were me, I'd relax as many constraints here as possible.  So how about<br>
figuring out how to interface OpenACC on any suitable platform and compiler<br>
pair?<br>
<span class="m_6659553376034491876HOEnZb"><font color="#888888"><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>
</font></span></blockquote></div><br></div>
</div></div><br>______________________________<wbr>_________________<br>
Rcpp-devel mailing list<br>
<a href="mailto:Rcpp-devel@lists.r-forge.r-project.org">Rcpp-devel@lists.r-forge.r-<wbr>project.org</a><br>
<a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" rel="noreferrer" target="_blank">https://lists.r-forge.r-<wbr>project.org/cgi-bin/mailman/<wbr>listinfo/rcpp-devel</a><br></blockquote></div><br></div>