diff --git a/ci/release/update-version.sh b/ci/release/update-version.sh index 4d0304f06..bd8c7c388 100755 --- a/ci/release/update-version.sh +++ b/ci/release/update-version.sh @@ -42,13 +42,19 @@ sed_runner "s/^version = .*/version = \"${NEXT_FULL_TAG}\"/g" python/pyproject.t # bump RAPIDS libs sed_runner "/- librmm =/ s/=.*/=${NEXT_RAPIDS_VERSION}/g" conda/recipes/ucxx/meta.yaml sed_runner "/- rmm =/ s/=.*/=${NEXT_RAPIDS_VERSION}/g" conda/recipes/ucxx/meta.yaml -for FILE in conda/environments/*.yaml dependencies.yaml; do - sed_runner "/- cuda==/ s/==.*/==${NEXT_SHORT_TAG_PEP440}\.*/g" ${FILE}; - sed_runner "/- cudf==/ s/==.*/==${NEXT_SHORT_TAG_PEP440}\.*/g" ${FILE}; - sed_runner "/- dask-cuda==/ s/==.*/==${NEXT_SHORT_TAG_PEP440}\.*/g" ${FILE}; - sed_runner "/- dask-cudf==/ s/==.*/==${NEXT_SHORT_TAG_PEP440}\.*/g" ${FILE}; - sed_runner "/- librmm==/ s/==.*/==${NEXT_SHORT_TAG_PEP440}\.*/g" ${FILE}; - sed_runner "/- rmm==/ s/==.*/==${NEXT_SHORT_TAG_PEP440}\.*/g" ${FILE}; + +DEPENDENCIES=( + cudf + dask-cuda + dask-cudf + librmm + rmm +) +for DEP in "${DEPENDENCIES[@]}"; do + for FILE in dependencies.yaml conda/environments/*.yaml; do + sed_runner "/-.* ${DEP}==/ s/==.*/==${NEXT_SHORT_TAG_PEP440}\.*/g" ${FILE}; + done + sed_runner "/\"${DEP}==/ s/==.*\"/==${NEXT_SHORT_TAG_PEP440}\.*\"/g" python/pyproject.toml; done # rapids-cmake version diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml new file mode 100644 index 000000000..b3ac9d4fe --- /dev/null +++ b/conda/environments/all_cuda-118_arch-x86_64.yaml @@ -0,0 +1,48 @@ +# This file is generated by `rapids-dependency-file-generator`. +# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. +channels: +- rapidsai +- rapidsai-nightly +- dask/label/dev +- conda-forge +- nvidia +dependencies: +- autoconf +- automake +- c-compiler +- cloudpickle +- cmake>=3.26.4 +- cuda-version=11.8 +- cudatoolkit +- cudf==23.12.* +- cupy +- cxx-compiler +- cython>=3.0.0 +- dask +- dask-cuda==23.12.* +- dask-cudf==23.12.* +- distributed +- fmt>=9.1.0,<10 +- gmock>=1.13.0 +- gtest>=1.13.0 +- librmm==23.12.* +- libtool +- ninja +- numba>=0.57.1 +- numpy>=1.21 +- pip +- pkg-config +- pre-commit +- pynvml>=11.4.1 +- pytest +- pytest-asyncio +- pytest-rerunfailures +- python>=3.9,<3.11 +- rmm==23.12.* +- scikit-build>=0.13.1 +- setuptools +- spdlog>=1.11.0,<1.12 +- tomli +- ucx +- wheel +name: all_cuda-118_arch-x86_64 diff --git a/conda/environments/all_cuda-120_arch-x86_64.yaml b/conda/environments/all_cuda-120_arch-x86_64.yaml new file mode 100644 index 000000000..42dbb4f5f --- /dev/null +++ b/conda/environments/all_cuda-120_arch-x86_64.yaml @@ -0,0 +1,48 @@ +# This file is generated by `rapids-dependency-file-generator`. +# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. +channels: +- rapidsai +- rapidsai-nightly +- dask/label/dev +- conda-forge +- nvidia +dependencies: +- autoconf +- automake +- c-compiler +- cloudpickle +- cmake>=3.26.4 +- cuda-cudart-dev +- cuda-version=12.0 +- cudf==23.12.* +- cupy +- cxx-compiler +- cython>=3.0.0 +- dask +- dask-cuda==23.12.* +- dask-cudf==23.12.* +- distributed +- fmt>=9.1.0,<10 +- gmock>=1.13.0 +- gtest>=1.13.0 +- librmm==23.12.* +- libtool +- ninja +- numba>=0.57.1 +- numpy>=1.21 +- pip +- pkg-config +- pre-commit +- pynvml>=11.4.1 +- pytest +- pytest-asyncio +- pytest-rerunfailures +- python>=3.9,<3.11 +- rmm==23.12.* +- scikit-build>=0.13.1 +- setuptools +- spdlog>=1.11.0,<1.12 +- tomli +- ucx +- wheel +name: all_cuda-120_arch-x86_64 diff --git a/conda/environments/ucxx-cuda118_arch-x86_64.yaml b/conda/environments/ucxx-cuda118_arch-x86_64.yaml deleted file mode 100644 index 634dd133b..000000000 --- a/conda/environments/ucxx-cuda118_arch-x86_64.yaml +++ /dev/null @@ -1,36 +0,0 @@ -channels: - - rapidsai-nightly - - conda-forge - - nvidia -dependencies: -# Base - - python=3.9 - - cudatoolkit=11.8 - - pip -# RAPIDS - - cudf==23.12.* - - dask-cuda==23.12.* - - dask-cudf==23.12.* - - librmm==23.12.* - - rmm==23.12.* - - ucx -# UCX Build - - libtool - - automake - - autoconf -# UCXX Build - - cmake>=3.20.1,!=3.23.0 - - cython - - c-compiler - - cxx-compiler - - gcc_linux-64=11.* - - pkg-config - - ninja - - scikit-build>=0.13.1 -# UCXX/RAPIDS testing - - gmock - - gtest - - pytest-asyncio -# Dask main - - dask/label/dev::dask - - dask/label/dev::distributed diff --git a/conda/recipes/ucxx/conda_build_config.yaml b/conda/recipes/ucxx/conda_build_config.yaml index 1bd2a4c71..2f9f1db79 100644 --- a/conda/recipes/ucxx/conda_build_config.yaml +++ b/conda/recipes/ucxx/conda_build_config.yaml @@ -14,7 +14,7 @@ sysroot_linux_64: - "2.17" cmake: - - ">=3.23.1,!=3.25.0" + - ">=3.26.4" python: - 3.9 diff --git a/conda/recipes/ucxx/meta.yaml b/conda/recipes/ucxx/meta.yaml index e2a16e08c..4152d302f 100644 --- a/conda/recipes/ucxx/meta.yaml +++ b/conda/recipes/ucxx/meta.yaml @@ -11,7 +11,7 @@ package: name: libucxx-split source: - git_url: ../../.. + path: ../../.. build: script_env: @@ -206,7 +206,6 @@ outputs: host: - python - pip - - cmake - scikit-build>=0.13.1 - setuptools - cython >=3.0.0 @@ -220,7 +219,6 @@ outputs: - cuda-version {{ cuda_version }} run: - python * *_cpython - - packaging {% if cuda_major == "11" %} - cudatoolkit {% endif %} diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 937b36d53..4c4fc5666 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -3,7 +3,7 @@ # SPDX-License-Identifier: BSD 3-Clause License # ================================================================================= -cmake_minimum_required(VERSION 3.23.1 FATAL_ERROR) +cmake_minimum_required(VERSION 3.26.4 FATAL_ERROR) include(../fetch_rapids.cmake) include(rapids-cmake) diff --git a/dependencies.yaml b/dependencies.yaml index 516c389ab..ba444b8cb 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,11 +1,16 @@ # Dependency list for https://github.com/rapidsai/dependency-file-generator files: all: - output: none + output: conda + matrix: + cuda: ["11.8", "12.0"] + arch: [x86_64] includes: + - build_cpp - build_python - checks - cudatoolkit + - dev - py_version - run_python - test_cpp @@ -26,6 +31,28 @@ files: includes: - checks - py_version + py_build: + output: pyproject + pyproject_dir: python + extras: + table: build-system + includes: + - build_python + py_run: + output: pyproject + pyproject_dir: python + extras: + table: project + includes: + - run_python + py_test: + output: pyproject + pyproject_dir: python + extras: + table: project.optional-dependencies + key: test + includes: + - test_python channels: - rapidsai - rapidsai-nightly @@ -33,21 +60,31 @@ channels: - conda-forge - nvidia dependencies: - build_python: + build_cpp: common: - - output_types: [conda, requirements, pyproject] - packages: - - &cmake_ver cmake>=3.23.1,!=3.25.0 - - rmm==23.12.* - output_types: conda packages: - - cython>=3.0.0 + - c-compiler + - cxx-compiler + - &cmake_ver cmake>=3.26.4 - fmt>=9.1.0,<10 - &gmock gmock>=1.13.0 - >est gtest>=1.13.0 - librmm==23.12.* - - &numpy numpy>=1.21 + - ninja - spdlog>=1.11.0,<1.12 + build_python: + common: + - output_types: [conda, requirements, pyproject] + packages: + - *cmake_ver + - cython>=3.0.0 + - ninja + - rmm==23.12.* + - scikit-build>=0.13.1 + - setuptools + - tomli + - wheel checks: common: - output_types: [conda, requirements] @@ -82,6 +119,21 @@ dependencies: packages: - cuda-version=12.0 - cuda-cudart-dev + dev: + common: + - output_types: [conda] + packages: + # These packages are useful for development but not otherwise required to build/run + # RAPIDS + - pip + - dask-cuda==23.12.* + - dask-cudf==23.12.* + # UCX Build + - libtool + - automake + - autoconf + # UCXX Build + - pkg-config py_version: specific: - output_types: conda @@ -101,7 +153,10 @@ dependencies: common: - output_types: [conda, requirements, pyproject] packages: - - *numpy + - numpy>=1.21 + - pynvml>=11.4.1 + - output_types: [conda] + packages: - ucx test_cpp: common: @@ -112,13 +167,14 @@ dependencies: - *gmock test_python: common: - - output_types: [conda, requirements] + - output_types: [conda, requirements, pyproject] packages: + - cloudpickle - cudf==23.12.* - cupy - - dask>=2023.1.1 - - distributed>=2023.1.1 - - numba>=0.57.0 + - dask + - distributed + - numba>=0.57.1 - pytest - pytest-asyncio - pytest-rerunfailures diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 51470cdae..9fac630d5 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -3,7 +3,7 @@ # SPDX-License-Identifier: BSD 3-Clause License # ================================================================================= -cmake_minimum_required(VERSION 3.23.1 FATAL_ERROR) +cmake_minimum_required(VERSION 3.26.4 FATAL_ERROR) set(ucxx_version 0.35.00) diff --git a/python/pyproject.toml b/python/pyproject.toml index 171731fe3..e57a5b6f6 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -4,14 +4,15 @@ [build-system] build-backend = "setuptools.build_meta" requires = [ - "cmake>=3.20.1,!=3.23.0", + "cmake>=3.26.4", "cython>=3.0.0", "ninja", + "rmm==23.12.*", "scikit-build>=0.13.1", "setuptools", - "tomli; python_version < '3.11'", + "tomli", "wheel", -] +] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../dependencies.yaml and run `rapids-dependency-file-generator`. [project] name = "ucxx" @@ -26,7 +27,7 @@ requires-python = ">=3.9" dependencies = [ "numpy>=1.21", "pynvml>=11.4.1", -] +] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../dependencies.yaml and run `rapids-dependency-file-generator`. classifiers = [ "Intended Audience :: Developers", "Intended Audience :: System Administrators", @@ -41,14 +42,16 @@ classifiers = [ [project.optional-dependencies] test = [ - "pytest", - "pytest-asyncio", "cloudpickle", - "cudf", + "cudf==23.12.*", + "cupy", "dask", "distributed", - "cupy-cuda11x", -] + "numba>=0.57.1", + "pytest", + "pytest-asyncio", + "pytest-rerunfailures", +] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../dependencies.yaml and run `rapids-dependency-file-generator`. [project.urls] Homepage = "https://github.com/rapidsai/ucxx"