[R-pkg-devel] Windows specific compiler for CUDA builds
Duncan Murdoch
murdoch.duncan at gmail.com
Thu Mar 16 16:41:57 CET 2017
On 16/03/2017 11:00 AM, Charles Determan wrote:
> Greetings,
>
> Not sure if this should be on the Rcpp list but it isn't strictly related
> to Rcpp but to package building involving Rcpp so I am posting it here.
>
> I am often working on GPU packages that use either OpenCL or CUDA. OpenCL
> is nice because it doesn't require a special additional compiler and I can
> build it across platforms with relative ease. With CUDA, it requires the
> 'nvcc' compiler. This is where my problem comes in. On Windows the 'nvcc'
> requires the use of the 'cl' compiler within Visual Studio and the
> resulting object files, AFAIK, cannot be linked to object files created by
> g++ (via Rtools). Everything works great on Linux (where the same compiler
> is used for everything) but on a Windows system this is causing a lot of
> headaches.
>
> So, at the moment, my conclusion is that it is simply not possible to build
> a CUDA package that can be installed on a Windows system. To my knowledge,
> no CUDA based R package has a Windows installation functional (please state
> otherwise if I am wrong).
>
> My only thought would be if it would be possible to have the Windows build
> use 'cl' for the entire build process. Perhaps that would allow all the
> files to be linked together and create the necessary shared object at the
> end? Obviously the preference is to use Rtools but until NVIDIA updates
> their special compiler to support MinGW tools I don't think that is
> possible.
In principle it should be possible to use cl. In practice, it will
require someone to work out the details of doing it and to maintain it
(by testing R-devel regularly to make sure changes there don't cause
trouble for it). There aren't a lot of people who know how to do that
(e.g. I don't). If you are willing to volunteer to do this (or can
recruit someone to do it), go ahead. Assuming you do a good job, we can
put your patches into the base code.
Duncan Murdoch
More information about the R-package-devel
mailing list