[Rcpp-devel] OpenACC, Rcpp and RStudio on Windows

Emmanuel Hamel manu.hamel at gmail.com
Tue Jan 23 04:59:06 CET 2018


First, I would like to say thank you because you spend time answering my
questions and you are not paid. I appreciate a lot. I will take a look more
seriously at OpenCL. I am mainly interested in "non-implemented
operations". I also think that the problem is related to the fact that it
is "difficult" to make a link between Rtools and nvcc compiler. I have
looked at many R packages for GPU and a lot of them do not seem available
on windows. Finally, If you find the solution of how to integrate easily
OpenACC and Rtools in the future, let me know. I think it would be great to
have a "RcppOpenACC" package. This would enable developers to create
flexible code in C++ (CPU and GPU at the same time!).

Best regards,


2018-01-22 10:18 GMT-05:00 Charles Determan <cdetermanjr at gmail.com>:

> Hi Emmanuel,
> 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 (https://cran.r-project.org/
> package=gpuR).  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.
> Regards,
> Charles
> On Sun, Jan 21, 2018 at 9:32 AM, Emmanuel Hamel <manu.hamel at gmail.com>
> wrote:
>> Hi,
>> 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.
>> 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.
>> Best regards,
>> Emmanuel
>> 2018-01-21 10:26 GMT-05:00 Dirk Eddelbuettel <edd at debian.org>:
>>> On 21 January 2018 at 09:55, Emmanuel Hamel wrote:
>>> | Hope you are all feeling good. I have a question. First, I use windows
>>> and
>>> Never the easiest platform (in my very personal view).
>>> | I want to use OpenACC. For the moment, I am able to compile GPU Cuda C
>>> code
>>> | with Microsoft visual studio and call it from a DLL in Windows. Also,
>>> I am
>>> | able to use OpenMP with the Rcpp package. Nevertheless, I want to
>>> extend
>>> | these possibilities for a project regarding dynamic hedging program for
>>> | segregated funds. Hence, I would like to know if you have any tips
>>> | regarding the use of OpenACC in Rcpp. In particular, what are the files
>>> I am not aware of anyone using it now.  That said, it would be nice to
>>> have.
>>> | that I need to modify in a RStudio project in order to be able to
>>> compile
>>> | pragma commands with the OpenACC compiler? For the moment, I use the
>>> PGI
>>> | compiler.
>>> That puts a third constraint up.  Which, in aggregate, makes it even less
>>> likely that someone is doing this already.
>>> A few people use Rcpp together with CUDA code.  Charles has been working
>>> on
>>> RViennaCL which is another "portable" approach for multiple backends:
>>>   https://cran.r-project.org/package=RViennaCL
>>> He may be following up here too in a day or two.
>>> Other than that, RcppParallel exists, is fairly widely used, and gives
>>> you
>>> higher-level abstractions for OpenMP-style parallelism.  No GPU though.
>>> So in short if you need
>>>   - OpenACC
>>>   - on Windows
>>>   - with PGI
>>> you may have to roll up your sleeves and build it.  We will help as we
>>> can.
>>> If it were me, I'd relax as many constraints here as possible.  So how
>>> about
>>> figuring out how to interface OpenACC on any suitable platform and
>>> compiler
>>> pair?
>>> Dirk
>>> --
>>> http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
>> _______________________________________________
>> Rcpp-devel mailing list
>> Rcpp-devel at lists.r-forge.r-project.org
>> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20180122/0f0f1cf4/attachment.html>

More information about the Rcpp-devel mailing list