I'm wondering if it's possible to create a user function and call any of the GPGPU languages.
Is it possible to invoke cuda functions from monetdb? I've been reading about amd bolt. Will it be possible to be used with monetdb?
Thanks
One can implement a C function that uses OpenCL/CUDA. This function can then be exposed to a higher level query interface, like SQL. Such a custom function can then be used in an SQL query. This page explains how to create a C level in MonetDB and make it available as a SQL UDF.
Alternatively, one can create a new query execution plan, that replaces one of the existing function call with such to a CUDA/OpenCL optimized function. This is a lot harder, since making a new plan is a lot of work and could be hard to maintain over major MonetDB upgrades. The advantage is that no calls to custom SQL need to made, instead MonetDB will call the optimized function when the alternative query plan is executed. E.g. you can call the regular SQL SELECT
, while under-the-hood MonetDB will use the new CUDA version. More info on this you can find in the Optimizer Pipelines page.
You can also try to get help from the MonetDB community/developers on the mailing list.