GPU-Optimized User Defined Functions in OmniSciDB (Presented by OmniSci)
, OmniSci
A common feature of SQL-based analytical database and data processing platforms is extensibility through custom operations and functions, also known as user-defined functions (UDFs). Most modern platforms provide basic UDF functionality, yet few of them are designed to exploit modern accelerator hardware. We’ll discuss how OmniSciDB has created a high-performance UDF framework for the OmniSciDB engine. By building on the underlying LLVM-based JIT compiler of the OmniSciDB engine, this framework allows code written in Python and other LLVM-based frontend languages to be defined, registered, and executed as high-performance native code. We will discuss key components of the UDF framework and walk through a simple demo of how the same UDF, written in Python, can be used to target both CPU and GPU-based execution.