I am feeding a `CuVector`

to an interpolator created with `Interpolations.jl`

and wanting to get the output as a `CuVector`

, but I am not sure how to achieve this.

Here is what I did. I create an interpolator using sampling points:

```
using Interpolations
xsample = 0:0.1:1
ysample = rand(length(xsample))
itp = CubicSplineInterpolation(xsample, ysample)
```

Then I create a `CuVector`

that contains the x-values where I would like to evaluate the interpolator, and perform the interpolation:

```
using CUDA
cx = cu(rand(100))
y = itp(cx)
```

The type of `y`

is `Vector`

, not `CuVector`

. I tried to use `CuVector`

as `ysample`

when creating `itp`

, but the result was the same.

I also tried to preallocate `y`

as a `CuVector`

and use the dot syntax for element-wise assignment:

```
cy = similar(cx)
cy .= itp.(cx)
```

but this generates an error:

```
ERROR: GPU compilation of kernel broadcast_kernel(CUDA.CuKernelContext, CuDeviceVector{Float32, 1}, Base.Broadcast.Broadcasted{Nothing, Tuple{Base.OneTo{Int64}}, Interpolations.Extrapolation{Float32, 1, ScaledInterpolation{Float32, 1, Interpolations.BSplineInterpolation{Float32, 1, OffsetArrays.OffsetVector{Float32, Vector{Float32}}, BSpline{Cubic{Line{OnGrid}}}, Tuple{Base.OneTo{Int64}}}, BSpline{Cubic{Line{OnGrid}}}, Tuple{StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}}}}, BSpline{Cubic{Line{OnGrid}}}, Throw{Nothing}}, Tuple{Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}}}, Int64) failed
KernelError: passing and using non-bitstype argument
```

I will appreciate any help!