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

Charles Determan cdetermanjr at gmail.com
Mon Jan 22 16:18:29 CET 2018


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/850e2e6d/attachment.html>


More information about the Rcpp-devel mailing list