arrayfire-r icon indicating copy to clipboard operation
arrayfire-r copied to clipboard

Will arrayfire-r be updated soon to allow Windows usage?

Open Despertaferro opened this issue 7 years ago • 8 comments

I see arrayfire-r has been dormant for a few years. In the ArrayFire page it says there is R support. In arrayfire-r, it says Linux is supported, but Windows will be supported "soon".

Is it expected a new arrayfire-r version, which will allow Windows usage?

Thank you for your work.

Despertaferro avatar Sep 23 '18 08:09 Despertaferro

@Despertaferro Unfortunately, there isn't any active development going on the R wrapper support for quite some time. We haven't had that many requests for R wrapper, so updating/maintaining this language binding is currently not at the top of the priority list.

@pavanky Any chance that you are working on latest version but haven't published it yet ?

9prady9 avatar Sep 23 '18 09:09 9prady9

You have my vote for an R wrapper. I was actually looking to contribute to a ViennaCL R wrapper when I came across ArrayFire, whose core appears to be much more actively maintained.

jeffkeller87 avatar May 22 '19 01:05 jeffkeller87

@jeffkeller87 At the moment, we don't have any active development going on for R bindings. You are welcome to contribute to R wrapper for ArrayFire. We are available on Slack for quick questions. We are also on Google groups for much detailed discussions.

9prady9 avatar May 22 '19 13:05 9prady9

Getting R and AF to work together on Windows is complicated. If you use the pre-build binaries you have to use MSVC for compiling the R package's library, while normally mingw (from Rtools) is used. Alternatively you could compile AF with the mingw tool chain, but that rules out CUDA. See https://github.com/daqana/rcpparrayfire/issues/3 for a similar discussion also without solution as of now.

rstub avatar Jun 07 '19 11:06 rstub

@rstub Can you please explain what do you mean "mingw rules out CUDA".

As long as C-API from our website binaries is used, you wouldn't face any issues even if our binaries are built using MSVC and your target toolchain is mingw.

9prady9 avatar Jun 07 '19 12:06 9prady9

@rstub Can you please explain what do you mean "mingw rules out CUDA".

I meant "you cannot build the CUDA backend if you build AF using the mingw tool chain".

As long as C-API from our website binaries is used, you wouldn't face any issues even if our binaries are built using MSVC and your target toolchain is mingw.

I do not remember the details, but I think I had linking problems using the AF's C-API together with mingw. I have not investigated this in detail, though, since I need the C++-API for RcppArrayFire anyway. And that cannot work with mingw due to different C++ name mangling schema.

rstub avatar Jun 07 '19 12:06 rstub

That is right, C++ will have the problem you mentioned. But C-API shouldn't be a problem. I believe I have once tried using ArrayFire binaries(website download) with rust mingw toolchain, if I remember correctly, it did work.

To compile AF, you need a C++ compiler. Now, I haven't tried CUDA backend with mingw toolchain, is it a well known issue ? or something you noticed only with ArrayFire ?

9prady9 avatar Jun 07 '19 13:06 9prady9

Interesting. I might give it another shot once I have a Windows dev machine running.

AFAIK CUDA on windows requires MSVC, c.f. https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html. I am not sure if it possible to compile the CUDA parts with nvcc, which uses MSVC, and the CPU parts in mingw.

rstub avatar Jun 07 '19 14:06 rstub