GPU support for UDFs
Details
| Detail name | Value |
|---|---|
| Changelog Number | 20992 |
| Type | New Feature |
| Status | Resolved |
| Fix Versions | Exasol 2025.2.0 |
| Resolution Date | 2025-12-17 |
Background
Utilizing GPUs for parallel processing in an Exasol cluster offers a significant performance increase for certain types of workloads, specifically those that require repetitive computations. For example, GPUs can tangibly accelerate AI and machine learning workloads, including model training and model inference.
In on-premises installations of Exasol 2025.2 and later you can utilize GPUs to accelerate parallel processing for user defined functions (UDFs) in Exasol clusters.
To learn more about GPU support for UDFs please see Exasol’s User defined functions documentation.
New Feature
User Defined Functions (SCALAR/SET ... RETURNS/EMITS) combined with an GPU-enabled script language container can now make use of GPU acceleration.
The GPU support for UDFs is available for Exasol clusters deployed on host systems with installed NVIDIA Data Center GPUs.
The concrete System requirements for the GPU support will be described in details as part of Exasol’s Administration documentation.
GPU-accelerated UDF
To enable GPU support in an UDF, just add the option perInstanceRequiredAcceleratorDevices to the UDF definition.
--/
CREATE OR REPLACE PYTHON_GPU SCALAR SCRIPT GPU_UDF_EXAMPLE() RETURNS BOOLEAN AS
%perInstanceRequiredAcceleratorDevices GpuNvidia;
from numba import cuda
def run(ctx):
# Check if NVIDIA GPUs are available in CUDA
return cuda.is_available()
/select GPU_UDF_EXAMPLE(); GPU_UDF_EXAMPLE() ----------------- true
During the execution, a GPU-accelerated UDF exclusively uses all NVIDIA GPUs, locally available on the cluster node.
GPU-acceleration is only available during the UDF main (run) function execution, as well as during the corresponding initialization and cleanup phase.
In-depth examples can be found in a dedicated GPU Jupyter Notebook as part of the Exasol AI-Lab.
Script language containers with GPU support
Only script language container based UDF languages are supported (Python 3, R and Java).
Non standard script language flavors are required for NVIDIA GPU support.
Exasol provides custom script language flavors for this purpose.
For more information, see Exasol Script Language Flavors overview on GitHub.
The custom script language container build can be simplified by also using the GPU Jupyter Notebook in the Exasol AI-Lab.