Enabling NVIDIA GPU acceleration in watsonx.data

The Spark runtime run can be considerably accelerated by using NVIDIA GPUs through the NVIDIA RAPIDS library. With GPU acceleration, you can achieve substantial reductions in query execution times and improved throughput for large-scale data processing. It enables efficient, high-throughput data processing by offloading supported Spark operations to GPU hardware.

watsonx.data on IBM Software Hub

Prerequisite

  • Install NVIDIA GPU Operators with GPU nodes.
  • NVIDIA GPU (Example: T4, V100, A100) available on cluster nodes.
Required permissions
Installing NVIDIA GPU Operators requires Manager or Admin access, while runtime users can submit the configuration.

Enabling NVIDIA GPU acceleration

To enable GPU acceleration in Spark runtimes on watsonx.data, include the following driver and executor configurations in the config section of the payload.
Driver GPU configuration

spark.driver.resource.gpu.amount=2
spark.driver.resource.gpu.vendor=nvidia.com
Executor GPU configuration
spark.executor.resource.gpu.amount=2
spark.executor.resource.gpu.vendor=nvidia.com

Parameters:

  • spark.driver.resource.gpu.amount: Number of GPUs required for the Spark driver.
  • spark.driver.resource.gpu.vendor: Set the value to nvidia to indicate GPU vendor.
  • spark.executor.resource.gpu.amount: Number of GPUs required for each Spark executor.
  • spark.executor.resource.gpu.vendor: Set the value to nvidia.com.
Note:
  • You can also combine the preceding settings with RAPIDS specific configurations for best performance. For more information, see RAPIDS tuning guide.

  • Monitor GPU utilization to validate performance improvements and correct resource usage.

Limitations

  • RAPIDS library – The RAPIDS accelerator imposes several restrictions that also affect our Spark integration. See the limitations.
  • GPU acceleration with autoscaling – GPU acceleration with autoscaling is not yet supported.
  • Apache Iceberg catalog compatibility – Using RAPIDS with Apache Iceberg‑based catalogs may lead to incompatibilities. See NVIDIA.