[FEA] Execute UDFs that provide a RAPIDS execution path #1351
Labels
epic
Issue that encompasses a significant feature or body of work
feature request
New feature or request
P0
Must have for release
SQL
part of the SQL/Dataframe plugin
Milestone
Is your feature request related to a problem? Please describe.
Some users may wish to provide a UDF that has both a CPU and a GPU implementation, the latter executing directly on the RAPIDS cudf
ColumnVector
instances just as the plugin operators do. This has a significant drawback in that the user has to implement the UDF twice, but it should provide the best performance when running with the RAPIDS Accelerator.Describe the solution you'd like
Ideally it would be nice if the user could simply add an interface to their existing UDF class that provides one or more methods for implementing a RAPIDS execution path for the UDF. The plugin would automatically detect the user's UDF implements the required RAPIDS execution interfaces and allow it to execute on the GPU rather than requiring a transition back to the CPU.
Ideally the implementation should provide:
Describe alternatives you've considered
We could implement a completely separate interface, specific to the plugin, for registering UDFs. This is less ideal since it's not as seamless.
The text was updated successfully, but these errors were encountered: