You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is this a new feature, an improvement, or a change to existing functionality?
New Feature
How would you describe the priority of this feature request
Medium
Please provide a clear description of problem you would like to solve.
It would be nice to use the internal device code that is used to implement projection::transform() from a custom CUDA kernel. The idea would be to create a projection as you can currently, but then get an object that can be passed to a kernel and used by each thread to transform coordinates.
Describe any alternatives you have considered
Putting all custom kernel logic inside a function object passed to a thrust algorithm. This is definitely preferable in some situations, but sometimes it is just not flexible enough.
Additional context
No response
The text was updated successfully, but these errors were encountered:
Closes#1489
This PR refactors device `cuspatial::detail::pipeline` into the public API via a type alias `cuspatial::device_projection` which can be passed to a CUDA kernel and invoked to transform coordinates. `cuspatial::projection::get_device_projection(direction)` can be used to get a `device_projection`.
This required changing the direction parameter for `cuspatial::detail::pipeline` to a constructor parameter rather than a template parameter. I benchmarked before and after this change and saw no significant difference.
I have added tests and an example in `README.txt`.
Authors:
- Mark Harris (https://github.com/harrism)
Approvers:
- Michael Wang (https://github.com/isVoid)
- Paul Taylor (https://github.com/trxcllnt)
URL: #1490
Is this a new feature, an improvement, or a change to existing functionality?
New Feature
How would you describe the priority of this feature request
Medium
Please provide a clear description of problem you would like to solve.
It would be nice to use the internal device code that is used to implement
projection::transform()
from a custom CUDA kernel. The idea would be to create aprojection
as you can currently, but then get an object that can be passed to a kernel and used by each thread to transform coordinates.Describe any alternatives you have considered
Putting all custom kernel logic inside a function object passed to a thrust algorithm. This is definitely preferable in some situations, but sometimes it is just not flexible enough.
Additional context
No response
The text was updated successfully, but these errors were encountered: