Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CUDAdrv & future development #12

Open
samuelpowell opened this issue Dec 31, 2017 · 2 comments
Open

CUDAdrv & future development #12

samuelpowell opened this issue Dec 31, 2017 · 2 comments

Comments

@samuelpowell
Copy link

samuelpowell commented Dec 31, 2017

I'm assume that the long term plan is that GPU backed FFTs will be implemented through GPUArrays.jl, CUArrays.jl, CLArrays.jl, et al., using the new abstract FFT interface.

In the mean time, I needed to use CUFFT.jl as part of an application that uses CUDAdrv.jl, and ported it accordingly (removing the functionality that required pitched arrays, and the in-place transforms).

My intention is to strip out the convenience functions from this fork, and maintain it as a low-level interface to the CUFFT.jl library, as this is sufficient for my purposes.

However, since CUDArt.jl is essentially deprecated, I'm happy to open a PR before I start stripping it down.

@timholy
Copy link
Contributor

timholy commented Jan 1, 2018

Why not just implement support for pitched pointers somewhere? My understanding is that used appropriately they can enhance performance considerably, though I have not read anything about them in a number of years and the technology is advancing rapidly.

@samuelpowell
Copy link
Author

Hi Tim. In my current application, transforms are always of a size that gives good alignment, so I had no need to pursue this.

I believe that newer devices are less sensitive to the alignment issues which motivate the use of pitched pointers, but indeed this could offer improved performance. A basic implementation is straightforward, but a nice interface will require a little more thought. I don't have enough time to tackle this right now, but I will open an issue in the CUDAdrv.jl repo, and if/when time allows, have a crack at it myself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants