-
Notifications
You must be signed in to change notification settings - Fork 110
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
Documentation on GPU support #571
Comments
I can try, but perhaps @N5N3 would like to contribute. |
A quick reply is that the first stage of interpolating, named prefiltering, is not GPU compatible.
IIRC, there's no auto
For |
Thank you! I just wish for all of this to be clearly presented and documented.
The MWE is in a section that claims to be targeted toward developers (and I am assuming developers of Also, given that all one needs to obtain a The constructor might just dispatch over the input array and construct something GPU-compatible when given a function interpolator(y::CuArray)
y_cpu = Array(y)
return Adapt.adapt(CuArray{eltype(y)}, interpolator(y_cpu))
end This will also allow downstream packages to use |
I think doc could be improved by moving it to a new section and adding more usage information. As for |
Is there a way to have My use case is this. I have time series that I use as boundary conditions for evolving a system forward in time. More specifically, I have several functions that evaluate 1D splines at the given |
Theoretically, the But these kind of usage would be inefficient anyway. Even we support If you have many 1d splines to interpolate at each time step. A possible solution is combine them into a 2d interpolation and mark the 2nd dim as |
I tried to use
Interpolations.jl
with CUDA and found myself deeply lost in the documentation and didn't know what to expect from the package. I found about GPU support from GitHub issues (and PR #504). But that's pretty much all the information available. All the documentation I could about GPU support is a short section in the "Developer documentation".As I user, I would like to use interpolants from interpolations.jl in my CUDA kernels. The naive attempt of not doing anything special leads to functions that do not compile
I tried a bunch of things that didn't work, like changing constructors, or passing
CuArray
s to them.Following the developer documentation, I managed to have a working function using
adapt
(which I found a little surprising, since I was expectingadapt
to be only needed on theInterpolations.jl
-side).Some of the functions (e.g.,
adapt(CuArray{Float64}, itp)
error out on printing (or, more specifically, they to scalar indexing on GPUs).cuitp
doesn't work onVector
s , or on scalars:In this, I also found unclear if the higher-level constructors supported GPUs or not.
It would be very useful to clearly specify what does it mean for
Interpolations.jl
to support GPUs.The text was updated successfully, but these errors were encountered: