Skip to content

Commit

Permalink
Merge pull request #1341 from rapidsai/branch-24.06
Browse files Browse the repository at this point in the history
[RELEASE] dask-cuda v24.06
  • Loading branch information
raydouglass authored Jun 5, 2024
2 parents 7ed6735 + f5ce3b4 commit d40b01f
Show file tree
Hide file tree
Showing 29 changed files with 267 additions and 119 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ concurrency:
jobs:
conda-python-build:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-24.06
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand All @@ -38,7 +38,7 @@ jobs:
if: github.ref_type == 'branch'
needs: [conda-python-build]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-24.06
with:
arch: "amd64"
branch: ${{ inputs.branch }}
Expand All @@ -51,15 +51,15 @@ jobs:
upload-conda:
needs: [conda-python-build]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@branch-24.06
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
wheel-build:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-24.06
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand All @@ -72,7 +72,7 @@ jobs:
wheel-publish:
needs: wheel-build
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-24.06
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,26 +18,26 @@ jobs:
- docs-build
- wheel-build
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@branch-24.06
checks:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-24.06
conda-python-build:
needs: checks
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-24.06
with:
build_type: pull-request
conda-python-tests:
needs: conda-python-build
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-24.06
with:
build_type: pull-request
docs-build:
needs: conda-python-build
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-24.06
with:
build_type: pull-request
node_type: "gpu-v100-latest-1"
Expand All @@ -46,7 +46,7 @@ jobs:
run_script: "ci/build_docs.sh"
wheel-build:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-24.06
with:
build_type: pull-request
# Package is pure Python and only ever requires one build.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ on:
jobs:
conda-python-tests:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-24.06
with:
build_type: nightly
branch: ${{ inputs.branch }}
Expand Down
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
# dask-cuda 24.06.00 (5 Jun 2024)

## 🐛 Bug Fixes

- Fix license name ([#1337](https://github.com/rapidsai/dask-cuda/pull/1337)) [@raydouglass](https://github.com/raydouglass)
- Skip TCP-only DGX tests with UCX 1.16 ([#1331](https://github.com/rapidsai/dask-cuda/pull/1331)) [@pentschev](https://github.com/pentschev)
- Update explicit-comms for dask-expr support ([#1323](https://github.com/rapidsai/dask-cuda/pull/1323)) [@rjzamora](https://github.com/rjzamora)
- Skip explicit-comms tests when dask-expr is active ([#1322](https://github.com/rapidsai/dask-cuda/pull/1322)) [@rjzamora](https://github.com/rjzamora)
- Relax type-check in ``test_proxy.py`` ([#1321](https://github.com/rapidsai/dask-cuda/pull/1321)) [@rjzamora](https://github.com/rjzamora)

## 📖 Documentation

- Fix broken links in docs ([#1329](https://github.com/rapidsai/dask-cuda/pull/1329)) [@pentschev](https://github.com/pentschev)

## 🛠️ Improvements

- remove 'tomli' dependency ([#1338](https://github.com/rapidsai/dask-cuda/pull/1338)) [@jameslamb](https://github.com/jameslamb)
- Trap CI test errors with their original exit codes ([#1330](https://github.com/rapidsai/dask-cuda/pull/1330)) [@pentschev](https://github.com/pentschev)
- Prevent path conflict in builds ([#1325](https://github.com/rapidsai/dask-cuda/pull/1325)) [@AyodeAwe](https://github.com/AyodeAwe)

# dask-cuda 24.04.00 (10 Apr 2024)

## 🐛 Bug Fixes
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
24.04.00
24.06.00
2 changes: 1 addition & 1 deletion ci/build_docs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ rapids-mamba-retry install \
--channel "${PYTHON_CHANNEL}" \
dask-cuda

export RAPIDS_VERSION_NUMBER="24.04"
export RAPIDS_VERSION_NUMBER="24.06"
export RAPIDS_DOCS_DIR="$(mktemp -d)"

rapids-logger "Build Python docs"
Expand Down
1 change: 1 addition & 0 deletions ci/build_python.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ echo "${version}" | tr -d '"' > VERSION
sed -i "/^__git_commit__/ s/= .*/= \"${commit}\"/g" "${package_name}/_version.py"

rapids-logger "Begin py build"
conda config --set path_conflict prevent

RAPIDS_PACKAGE_VERSION=${version} rapids-conda-retry mambabuild \
conda/recipes/dask-cuda
Expand Down
5 changes: 5 additions & 0 deletions ci/release/update-version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,8 @@ for FILE in .github/workflows/*.yaml; do
sed_runner "/shared-workflows/ s/@.*/@branch-${NEXT_SHORT_TAG}/g" "${FILE}"
done
sed_runner "s/RAPIDS_VERSION_NUMBER=\".*/RAPIDS_VERSION_NUMBER=\"${NEXT_SHORT_TAG}\"/g" ci/build_docs.sh

# Docs referencing source code
find docs/source/ -type f -name *.rst -print0 | while IFS= read -r -d '' filename; do
sed_runner "s|/branch-[^/]*/|/branch-${NEXT_SHORT_TAG}/|g" "${filename}"
done
51 changes: 47 additions & 4 deletions ci/test_python.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,16 @@ rapids-logger "Check GPU usage"
nvidia-smi

EXITCODE=0
trap "EXITCODE=1" ERR
set_exit_code() {
EXITCODE=$?
rapids-logger "Test failed with error ${EXITCODE}"
}
trap set_exit_code ERR
set +e

rapids-logger "pytest dask-cuda"
rapids-logger "pytest dask-cuda (dask-expr)"
pushd dask_cuda
DASK_DATAFRAME__QUERY_PLANNING=True \
DASK_CUDA_TEST_SINGLE_GPU=1 \
DASK_CUDA_WAIT_WORKERS_MIN_TIMEOUT=20 \
UCXPY_IFNAME=eth0 \
Expand All @@ -58,18 +63,56 @@ timeout 60m pytest \
tests -k "not ucxx"
popd

rapids-logger "Run local benchmark"
rapids-logger "pytest explicit-comms (legacy dd)"
pushd dask_cuda
DASK_DATAFRAME__QUERY_PLANNING=False \
DASK_CUDA_TEST_SINGLE_GPU=1 \
DASK_CUDA_WAIT_WORKERS_MIN_TIMEOUT=20 \
UCXPY_IFNAME=eth0 \
UCX_WARN_UNUSED_ENV_VARS=n \
UCX_MEMTYPE_CACHE=n \
timeout 30m pytest \
-vv \
--durations=0 \
--capture=no \
--cache-clear \
--junitxml="${RAPIDS_TESTS_DIR}/junit-dask-cuda-legacy.xml" \
--cov-config=../pyproject.toml \
--cov=dask_cuda \
--cov-report=xml:"${RAPIDS_COVERAGE_DIR}/dask-cuda-coverage-legacy.xml" \
--cov-report=term \
tests/test_explicit_comms.py -k "not ucxx"
popd

rapids-logger "Run local benchmark (dask-expr)"
DASK_DATAFRAME__QUERY_PLANNING=True \
python dask_cuda/benchmarks/local_cudf_shuffle.py \
--partition-size="1 KiB" \
-d 0 \
--runs 1 \
--backend dask

DASK_DATAFRAME__QUERY_PLANNING=True \
python dask_cuda/benchmarks/local_cudf_shuffle.py \
--partition-size="1 KiB" \
-d 0 \
--runs 1 \
--backend explicit-comms

rapids-logger "Run local benchmark (legacy dd)"
DASK_DATAFRAME__QUERY_PLANNING=False \
python dask_cuda/benchmarks/local_cudf_shuffle.py \
--partition-size="1 KiB" \
-d 0 \
--runs 1 \
--backend dask

DASK_DATAFRAME__QUERY_PLANNING=False \
python dask_cuda/benchmarks/local_cudf_shuffle.py \
--partition-size="1 KiB" \
-d 0 \
--runs 1 \
--backend explicit-comms

rapids-logger "Test script exiting with value: $EXITCODE"
rapids-logger "Test script exiting with latest error code: $EXITCODE"
exit ${EXITCODE}
14 changes: 7 additions & 7 deletions conda/environments/all_cuda-114_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ dependencies:
- click >=8.1
- cuda-version=11.4
- cudatoolkit
- cudf==24.4.*
- dask-cudf==24.4.*
- distributed-ucxx==0.37.*
- kvikio==24.4.*
- cudf==24.6.*
- dask-cudf==24.6.*
- distributed-ucxx==0.38.*
- kvikio==24.6.*
- numactl-devel-cos7-x86_64
- numba>=0.57
- numpy>=1.23,<2.0a0
Expand All @@ -24,13 +24,13 @@ dependencies:
- pytest
- pytest-cov
- python>=3.9,<3.12
- rapids-dask-dependency==24.4.*
- rapids-dask-dependency==24.6.*
- setuptools>=64.0.0
- sphinx
- sphinx-click>=2.7.1
- sphinx-rtd-theme>=0.5.1
- ucx-proc=*=gpu
- ucx-py==0.37.*
- ucxx==0.37.*
- ucx-py==0.38.*
- ucxx==0.38.*
- zict>=2.0.0
name: all_cuda-114_arch-x86_64
14 changes: 7 additions & 7 deletions conda/environments/all_cuda-118_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ dependencies:
- click >=8.1
- cuda-version=11.8
- cudatoolkit
- cudf==24.4.*
- dask-cudf==24.4.*
- distributed-ucxx==0.37.*
- kvikio==24.4.*
- cudf==24.6.*
- dask-cudf==24.6.*
- distributed-ucxx==0.38.*
- kvikio==24.6.*
- numactl-devel-cos7-x86_64
- numba>=0.57
- numpy>=1.23,<2.0a0
Expand All @@ -24,13 +24,13 @@ dependencies:
- pytest
- pytest-cov
- python>=3.9,<3.12
- rapids-dask-dependency==24.4.*
- rapids-dask-dependency==24.6.*
- setuptools>=64.0.0
- sphinx
- sphinx-click>=2.7.1
- sphinx-rtd-theme>=0.5.1
- ucx-proc=*=gpu
- ucx-py==0.37.*
- ucxx==0.37.*
- ucx-py==0.38.*
- ucxx==0.38.*
- zict>=2.0.0
name: all_cuda-118_arch-x86_64
14 changes: 7 additions & 7 deletions conda/environments/all_cuda-122_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ dependencies:
- cuda-nvcc-impl
- cuda-nvrtc
- cuda-version=12.2
- cudf==24.4.*
- dask-cudf==24.4.*
- distributed-ucxx==0.37.*
- kvikio==24.4.*
- cudf==24.6.*
- dask-cudf==24.6.*
- distributed-ucxx==0.38.*
- kvikio==24.6.*
- numactl-devel-cos7-x86_64
- numba>=0.57
- numpy>=1.23,<2.0a0
Expand All @@ -25,13 +25,13 @@ dependencies:
- pytest
- pytest-cov
- python>=3.9,<3.12
- rapids-dask-dependency==24.4.*
- rapids-dask-dependency==24.6.*
- setuptools>=64.0.0
- sphinx
- sphinx-click>=2.7.1
- sphinx-rtd-theme>=0.5.1
- ucx-proc=*=gpu
- ucx-py==0.37.*
- ucxx==0.37.*
- ucx-py==0.38.*
- ucxx==0.38.*
- zict>=2.0.0
name: all_cuda-122_arch-x86_64
1 change: 0 additions & 1 deletion conda/recipes/dask-cuda/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ requirements:
host:
- python
- pip
- tomli
run:
- python
{% for r in data.get("project", {}).get("dependencies", []) %}
Expand Down
12 changes: 12 additions & 0 deletions dask_cuda/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,18 @@
from .proxify_device_objects import proxify_decorator, unproxify_decorator


if dask.config.get("dataframe.query-planning", None) is not False and dask.config.get(
"explicit-comms", False
):
raise NotImplementedError(
"The 'explicit-comms' config is not yet supported when "
"query-planning is enabled in dask. Please use the shuffle "
"API directly, or use the legacy dask-dataframe API "
"(set the 'dataframe.query-planning' config to `False`"
"before importing `dask.dataframe`).",
)


# Monkey patching Dask to make use of explicit-comms when `DASK_EXPLICIT_COMMS=True`
dask.dataframe.shuffle.rearrange_by_column = get_rearrange_by_column_wrapper(
dask.dataframe.shuffle.rearrange_by_column
Expand Down
Loading

0 comments on commit d40b01f

Please sign in to comment.