Skip to content

Commit 884c451

Browse files
authored
Release 25.08.0 (#978)
Merge branch-25.08 into main Release notes: - Updates RAPIDS dependencies to 25.08 - Bug fixes in UMAP (Hellinger distance) and RandomForest - Drops support for cuda 11. Known issues: - CrossValidator for RandomForest over Spark Connect will fail in Spark 4.0. Fix pending in Spark 4.1 Note: merge this PR with **Create a merge commit to merge**
2 parents 577e5c0 + e74b7e9 commit 884c451

34 files changed

+101
-75
lines changed

ci/Dockerfile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
# limitations under the License.
1515
#
1616

17-
ARG CUDA_VERSION=11.8.0
17+
ARG CUDA_VERSION=12.0.1
1818
FROM nvidia/cuda:${CUDA_VERSION}-devel-ubuntu22.04
1919

2020
# ubuntu22
@@ -37,6 +37,7 @@ ENV JAVA_HOME /usr/lib/jvm/java-1.17.0-openjdk-amd64
3737

3838
# Install conda
3939
ENV PATH="/root/miniconda3/bin:${PATH}"
40+
ENV CONDA_PLUGINS_AUTO_ACCEPT_TOS="yes"
4041
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \
4142
&& mkdir /root/.conda \
4243
&& bash Miniconda3-latest-Linux-x86_64.sh -b \
@@ -46,6 +47,6 @@ RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86
4647
&& conda config --set solver libmamba
4748

4849
# install cuML
49-
ARG CUML_VER=25.06
50-
RUN conda install -y -c rapidsai -c conda-forge -c nvidia cuml=$CUML_VER cuvs=$CUML_VER python=3.10 cuda-version=11.8 numpy~=1.0 \
50+
ARG CUML_VER=25.08
51+
RUN conda install -y -c rapidsai -c conda-forge -c nvidia cuml=$CUML_VER cuvs=$CUML_VER python=3.10 cuda-version=12.0 numpy~=1.0 \
5152
&& conda clean --all -f -y

ci/Jenkinsfile.premerge

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import ipp.blossom.*
3030

3131
def githubHelper // blossom github helper
3232
def TEMP_IMAGE_BUILD = true
33-
def IMAGE_PREMERGE = "${common.ARTIFACTORY_NAME}/sw-spark-docker/rapids:ml-ubuntu22-cuda11.8.0-py310"
33+
def IMAGE_PREMERGE = "${common.ARTIFACTORY_NAME}/sw-spark-docker/rapids:ml-ubuntu22-cuda12.0.1-py310"
3434
def cpuImage = pod.getCPUYAML("${common.ARTIFACTORY_NAME}/sw-spark-docker/spark:rapids-databricks") // tooling image
3535
def PREMERGE_DOCKERFILE = 'ci/Dockerfile'
3636
def PREMERGE_TAG

docker/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
#
3636
###
3737

38-
ARG CUDA_VERSION=11.5.2
38+
ARG CUDA_VERSION=12.0.1
3939
FROM nvidia/cuda:${CUDA_VERSION}-devel-ubuntu20.04
4040

4141
# ubuntu22
@@ -91,6 +91,7 @@ RUN wget --quiet \
9191
&& mkdir /root/.conda \
9292
&& bash Miniconda3-py38_4.10.3-Linux-x86_64.sh -b \
9393
&& rm -f Miniconda3-py38_4.10.3-Linux-x86_64.sh \
94+
&& conda tos accept --override-channels -c conda-forge -c defaults \
9495
&& conda init
9596

9697
# install cuDF dependency, Fall back to use cudf 22.04 due to issue:

docker/Dockerfile.pip

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
# limitations under the License.
1515
#
1616

17-
ARG CUDA_VERSION=11.8.0
17+
ARG CUDA_VERSION=12.0.1
1818
FROM nvidia/cuda:${CUDA_VERSION}-devel-ubuntu22.04
1919

2020
ARG PYSPARK_VERSION=3.3.1
21-
ARG RAPIDS_VERSION=25.6.0
21+
ARG RAPIDS_VERSION=25.8.0
2222
ARG ARCH=amd64
2323
#ARG ARCH=arm64
2424

@@ -47,9 +47,9 @@ RUN apt-get update -y \
4747
# install RAPIDS
4848
# using ~= pulls in micro version patches
4949
RUN pip install --no-cache-dir \
50-
cudf-cu11~=${RAPIDS_VERSION} \
51-
cuml-cu11~=${RAPIDS_VERSION} \
52-
cuvs-cu11~=${RAPIDS_VERSION} \
50+
cudf-cu12~=${RAPIDS_VERSION} \
51+
cuml-cu12~=${RAPIDS_VERSION} \
52+
cuvs-cu12~=${RAPIDS_VERSION} \
5353
numpy~=1.0 \
5454
--extra-index-url=https://pypi.nvidia.com
5555

docker/Dockerfile.python

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@
1414
# limitations under the License.
1515
#
1616

17-
ARG CUDA_VERSION=11.8.0
17+
ARG CUDA_VERSION=12.0.1
1818
FROM nvidia/cuda:${CUDA_VERSION}-devel-ubuntu22.04
1919

20-
ARG CUML_VERSION=25.06
20+
ARG CUML_VERSION=25.08
2121

2222
# ubuntu22
2323
RUN sed -i -e 's|http://archive.ubuntu.com/ubuntu|https://archive.ubuntu.com/ubuntu|g' \
@@ -42,11 +42,12 @@ RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-py38_4.10.3-Linu
4242
&& mkdir /root/.conda \
4343
&& bash Miniconda3-py38_4.10.3-Linux-x86_64.sh -b \
4444
&& rm -f Miniconda3-py38_4.10.3-Linux-x86_64.sh \
45+
&& conda tos accept --override-channels -c conda-forge -c defaults \
4546
&& conda init
4647

4748
# install cuML
4849

49-
RUN conda install -y -c rapidsai -c conda-forge -c nvidia python=3.10 cuda-version=11.8 cuml=$CUML_VERSION numpy~=1.0 \
50+
RUN conda install -y -c rapidsai -c conda-forge -c nvidia python=3.10 cuda-version=12.0 cuml=$CUML_VERSION numpy~=1.0 \
5051
&& conda clean --all -f -y
5152

5253
# install python dependencies

docs/site/FAQ.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,9 @@ Apache Spark version 3.3.1 or higher.
1414
### What versions of Python are supported
1515

1616
Python 3.10 or higher.
17+
18+
### How do I fix the "java.lang.IllegalArgumentException: valueCount must be >= 0" error?
19+
20+
This error occurs when the product of Arrow batch size and row dimension exceeds 2,147,483,647 (INT32_MAX), typically with very wide datasets (many features per row), causing Arrow serialization to fail. For example, if you set `max_records_per_batch = 10000` and your data has `row_dimension = 300000` (i.e., 300,000 features per row), then `10000 × 300000 = 3,000,000,000`, which exceeds the Arrow limit of 2,147,483,647 (INT32_MAX) and will cause this error.
21+
22+
Be aware that some Spark Rapids ML algorithms (such as NearestNeighbors) may convert sparse vectors to dense format internally if the underlying cuML algorithm does not support sparse input. This conversion can significantly increase memory usage, especially with wide datasets, and may make the Arrow size limit error more likely. To mitigate this, lower the value of `spark.sql.execution.arrow.maxRecordsPerBatch` (for example, to 5,000 or less) so that the product of the batch size and the number of elements per row stays within Arrow's maximum allowed size.

docs/site/compatibility.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ The following table shows the currently supported algorithms. The goal is to ex
3131

3232
| Spark Rapids ML | CUDA | Spark | Python |
3333
| :-------------- | :---- | :----- | :----- |
34-
| 1.0.0 | 11.4+ | 3.3+ | 3.10+ |
34+
| 1.0.0 | 12.0+ | 3.3+ | 3.10+ |
3535

3636

3737
## Single vs Double precision inputs

docs/source/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
project = 'spark-rapids-ml'
2424
copyright = '2025, NVIDIA'
2525
author = 'NVIDIA'
26-
release = '25.06.0'
26+
release = '25.08.0'
2727

2828
# -- General configuration ---------------------------------------------------
2929
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

jvm/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ including setting up the server and running client-side tests.
5050
To start the Spark Connect server with Spark Rapids ML support, follow these steps:
5151

5252
```shell
53-
conda activate rapids-25.06 # from spark-rapids-ml installation
53+
conda activate rapids-25.08 # from spark-rapids-ml installation
5454
export SPARK_HOME=<directory where spark was installed above>
5555
export PYSPARK_PYTHON=$(which python)
56-
export PLUGIN_JAR=$(pip show spark-rapids-ml | grep Location: | cut -d ' ' -f 2 )/spark_rapids_ml/jars/com.nvidia.rapids.ml-25.06.0.jar
56+
export PLUGIN_JAR=$(pip show spark-rapids-ml | grep Location: | cut -d ' ' -f 2 )/spark_rapids_ml/jars/com.nvidia.rapids.ml-25.08.0.jar
5757
$SPARK_HOME/sbin/start-connect-server.sh --master local[*] \
5858
--jars $PLUGIN_JAR \
5959
--conf spark.driver.memory=20G
@@ -107,7 +107,7 @@ mvn clean package -DskipTests
107107
if you would like to compile the plugin and run the unit tests, install `spark-rapids-ml` python package and its dependencies per the above instructions and run the following command:
108108

109109
``` shell
110-
conda activate rapids-25.06
110+
conda activate rapids-25.08
111111
export PYSPARK_PYTHON=$(which python)
112112
mvn clean package
113113
```

jvm/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
<groupId>com.nvidia.rapids</groupId>
2323
<artifactId>ml</artifactId>
24-
<version>25.06.0</version>
24+
<version>25.08.0</version>
2525
<packaging>jar</packaging>
2626

2727
<properties>

0 commit comments

Comments
 (0)