diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index bec60c0c4..5a722c4f6 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -28,7 +28,7 @@ concurrency: jobs: cpp-build: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.12 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -37,7 +37,7 @@ jobs: python-build: needs: [cpp-build] secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@branch-23.12 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -46,7 +46,7 @@ jobs: upload-conda: needs: [cpp-build, python-build] secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-upload-packages.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-upload-packages.yaml@branch-23.12 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -56,7 +56,7 @@ jobs: if: github.ref_type == 'branch' needs: python-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.12 with: arch: "amd64" branch: ${{ inputs.branch }} @@ -68,7 +68,7 @@ jobs: sha: ${{ inputs.sha }} wheel-build-cuspatial: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-build.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-build.yaml@branch-23.12 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -78,7 +78,7 @@ jobs: wheel-publish-cuspatial: needs: wheel-build-cuspatial secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-publish.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-publish.yaml@branch-23.12 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -87,7 +87,7 @@ jobs: package-name: cuspatial wheel-build-cuproj: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-build.yaml@branch-23.08 + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-build.yaml@branch-23.12 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -97,7 +97,7 @@ jobs: wheel-publish-cuproj: needs: wheel-build-cuproj secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-publish.yaml@branch-23.08 + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-publish.yaml@branch-23.12 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 7dbcbda29..3cdc9ffc1 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -25,40 +25,40 @@ jobs: - wheel-tests-cuproj - devcontainer secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/pr-builder.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/pr-builder.yaml@branch-23.12 checks: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/checks.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/checks.yaml@branch-23.12 with: enable_check_generated_files: false conda-cpp-build: needs: checks secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.12 with: build_type: pull-request conda-cpp-tests: needs: conda-cpp-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.12 with: build_type: pull-request conda-python-build: needs: conda-cpp-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@branch-23.12 with: build_type: pull-request conda-python-tests: needs: conda-python-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@branch-23.12 with: build_type: pull-request conda-notebook-tests: needs: conda-python-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.12 with: build_type: pull-request node_type: "gpu-v100-latest-1" @@ -68,7 +68,7 @@ jobs: docs-build: needs: conda-python-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.12 with: build_type: pull-request node_type: "gpu-v100-latest-1" @@ -78,28 +78,28 @@ jobs: wheel-build-cuspatial: needs: checks secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-build.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-build.yaml@branch-23.12 with: build_type: pull-request script: ci/build_wheel_cuspatial.sh wheel-tests-cuspatial: needs: wheel-build-cuspatial secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-test.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-test.yaml@branch-23.12 with: build_type: pull-request script: ci/test_wheel_cuspatial.sh wheel-build-cuproj: needs: checks secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-build.yaml@branch-23.08 + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-build.yaml@branch-23.12 with: build_type: pull-request script: ci/build_wheel_cuproj.sh wheel-tests-cuproj: needs: wheel-build-cuproj secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-test.yaml@branch-23.08 + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-test.yaml@branch-23.12 with: build_type: pull-request script: ci/test_wheel_cuproj.sh diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 0fa7f6124..ac7961236 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -16,7 +16,7 @@ on: jobs: conda-cpp-tests: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.12 with: build_type: nightly branch: ${{ inputs.branch }} @@ -24,7 +24,7 @@ jobs: sha: ${{ inputs.sha }} conda-python-tests: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@branch-23.12 with: build_type: nightly branch: ${{ inputs.branch }} @@ -32,7 +32,7 @@ jobs: sha: ${{ inputs.sha }} wheel-tests-cuspatial: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-test.yaml@branch-23.10 + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-test.yaml@branch-23.12 with: build_type: nightly branch: ${{ inputs.branch }} @@ -41,7 +41,7 @@ jobs: script: ci/test_wheel_cuspatial.sh wheel-tests-cuproj: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-test.yaml@branch-23.08 + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-test.yaml@branch-23.12 with: build_type: nightly branch: ${{ inputs.branch }} diff --git a/README.md b/README.md index c2fc696ae..b86c71355 100644 --- a/README.md +++ b/README.md @@ -113,7 +113,7 @@ An example command from the Release Selector: docker run --gpus all --pull always --rm -it \ --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 \ -p 8888:8888 -p 8787:8787 -p 8786:8786 \ - nvcr.io/nvidia/rapidsai/notebooks:23.10-cuda11.8-py3.10 + nvcr.io/nvidia/rapidsai/notebooks:23.120-cuda11.8-py3.10 ``` ### Install with Conda @@ -125,7 +125,7 @@ cuSpatial can be installed with conda (miniconda, or the full Anaconda distribut ```shell conda install -c rapidsai -c conda-forge -c nvidia \ - cuspatial=23.10 python=3.10 cudatoolkit=11.8 + cuspatial=23.120 python=3.10 cudatoolkit=11.8 ``` We also provide nightly Conda packages built from the HEAD of our latest development branch. @@ -184,7 +184,7 @@ To build and install cuSpatial from source please see the [build documentation]( If you find cuSpatial useful in your published work, please consider citing the repository. ```bibtex -@misc{cuspatial:23.10, +@misc{cuspatial:23.120, author = {{NVIDIA Corporation}}, title = {cuSpatial: GPU-Accelerated Geospatial and Spatiotemporal Algorithms}, year = {2023}, diff --git a/ci/build_docs.sh b/ci/build_docs.sh index 87991125e..427fb23bc 100755 --- a/ci/build_docs.sh +++ b/ci/build_docs.sh @@ -27,7 +27,7 @@ rapids-mamba-retry install \ cuspatial \ cuproj -export RAPIDS_VERSION_NUMBER="23.10" +export RAPIDS_VERSION_NUMBER="23.12" export RAPIDS_DOCS_DIR="$(mktemp -d)" rapids-logger "Build cuSpatial CPP docs" diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml index 83ac445cb..9f21d1eda 100644 --- a/conda/environments/all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/all_cuda-118_arch-x86_64.yaml @@ -11,8 +11,8 @@ dependencies: - cmake>=3.26.4 - cuda-version=11.8 - cudatoolkit -- cudf==23.10.* -- cuml==23.10.* +- cudf==23.12.* +- cuml==23.12.* - cupy>=12.0.0 - cxx-compiler - cython>=3.0.0 @@ -23,8 +23,8 @@ dependencies: - gtest>=1.13.0 - ipython - ipywidgets -- libcudf==23.10.* -- librmm==23.10.* +- libcudf==23.12.* +- librmm==23.12.* - myst-parser - nbsphinx - ninja @@ -35,11 +35,12 @@ dependencies: - proj - pydata-sphinx-theme - pydeck +- pyproj - pytest - pytest-cov - pytest-xdist - python>=3.9,<3.11 -- rmm==23.10.* +- rmm==23.12.* - scikit-build>=0.13.1 - scikit-image - setuptools diff --git a/conda/environments/all_cuda-120_arch-x86_64.yaml b/conda/environments/all_cuda-120_arch-x86_64.yaml index f628e67b4..8aecfbf40 100644 --- a/conda/environments/all_cuda-120_arch-x86_64.yaml +++ b/conda/environments/all_cuda-120_arch-x86_64.yaml @@ -14,8 +14,8 @@ dependencies: - cuda-nvcc - cuda-nvrtc-dev - cuda-version=12.0 -- cudf==23.10.* -- cuml==23.10.* +- cudf==23.12.* +- cuml==23.12.* - cupy>=12.0.0 - cxx-compiler - cython>=3.0.0 @@ -26,8 +26,8 @@ dependencies: - gtest>=1.13.0 - ipython - ipywidgets -- libcudf==23.10.* -- librmm==23.10.* +- libcudf==23.12.* +- librmm==23.12.* - myst-parser - nbsphinx - ninja @@ -37,11 +37,12 @@ dependencies: - proj - pydata-sphinx-theme - pydeck +- pyproj - pytest - pytest-cov - pytest-xdist - python>=3.9,<3.11 -- rmm==23.10.* +- rmm==23.12.* - scikit-build>=0.13.1 - scikit-image - setuptools diff --git a/conda/recipes/libcuspatial/meta.yaml b/conda/recipes/libcuspatial/meta.yaml index 9833b5d92..01517ef36 100644 --- a/conda/recipes/libcuspatial/meta.yaml +++ b/conda/recipes/libcuspatial/meta.yaml @@ -49,7 +49,7 @@ requirements: - gmock {{ gtest_version }} - gtest {{ gtest_version }} - libcudf ={{ minor_version }} - - librmm ={{ minor_version }} + #- librmm ={{ minor_version }} # TODO: Temporarily disabled so that rmm doesn't provide CCCL - sqlite - proj diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index e35232147..1250ed174 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -25,7 +25,7 @@ include(rapids-find) rapids_cuda_init_architectures(CUSPATIAL) -project(CUSPATIAL VERSION 23.10.00 LANGUAGES C CXX CUDA) +project(CUSPATIAL VERSION 23.12.00 LANGUAGES C CXX CUDA) # Needed because GoogleBenchmark changes the state of FindThreads.cmake, # causing subsequent runs to have different values for the `Threads::Threads` target. @@ -104,6 +104,7 @@ include(cmake/Modules/ConfigureCUDA.cmake) # add third party dependencies using CPM rapids_cpm_init() # find or add cuDF +include(cmake/thirdparty/get_thrust.cmake) # get thrust directly for now while testing include(cmake/thirdparty/get_cudf.cmake) # find or install GoogleTest if (CUSPATIAL_BUILD_TESTS) diff --git a/cpp/cmake/thirdparty/get_thrust.cmake b/cpp/cmake/thirdparty/get_thrust.cmake new file mode 100644 index 000000000..e32561d4f --- /dev/null +++ b/cpp/cmake/thirdparty/get_thrust.cmake @@ -0,0 +1,26 @@ +# ============================================================================= +# Copyright (c) 2021-2022, NVIDIA CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except +# in compliance with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software distributed under the License +# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +# or implied. See the License for the specific language governing permissions and limitations under +# the License. +# ============================================================================= + +# Use CPM to find or clone thrust +function(find_and_configure_thrust) + + include(${rapids-cmake-dir}/cpm/thrust.cmake) + rapids_cpm_thrust( + NAMESPACE cuspatial + BUILD_EXPORT_SET cuspatial-exports + INSTALL_EXPORT_SET cuspatial-exports) + +endfunction() + +find_and_configure_thrust() diff --git a/cpp/cuproj/CMakeLists.txt b/cpp/cuproj/CMakeLists.txt index 6d6df5d33..ae2596fdf 100644 --- a/cpp/cuproj/CMakeLists.txt +++ b/cpp/cuproj/CMakeLists.txt @@ -25,7 +25,7 @@ include(rapids-find) rapids_cuda_init_architectures(CUPROJ) -project(CUPROJ VERSION 23.10.00 LANGUAGES C CXX CUDA) +project(CUPROJ VERSION 23.12.00 LANGUAGES C CXX CUDA) # Needed because GoogleBenchmark changes the state of FindThreads.cmake, # causing subsequent runs to have different values for the `Threads::Threads` target. diff --git a/cpp/cuproj/doxygen/Doxyfile b/cpp/cuproj/doxygen/Doxyfile index 9c7069507..9d5f0fdad 100644 --- a/cpp/cuproj/doxygen/Doxyfile +++ b/cpp/cuproj/doxygen/Doxyfile @@ -48,7 +48,7 @@ PROJECT_NAME = libcuproj # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 23.10.00 +PROJECT_NUMBER = 23.12.00 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a @@ -2345,7 +2345,7 @@ SKIP_FUNCTION_MACROS = YES # the path). If a tag file is not located in the directory in which doxygen is # run, you must also specify the path to the tagfile here. -TAGFILES = rmm.tag=https://docs.rapids.ai/api/librmm/23.10 "libcudf.tag=https://docs.rapids.ai/api/libcudf/23.10" +TAGFILES = rmm.tag=https://docs.rapids.ai/api/librmm/23.12 "libcudf.tag=https://docs.rapids.ai/api/libcudf/23.12" # When a file name is specified after GENERATE_TAGFILE, doxygen will create a # tag file that is based on the input files it reads. See section "Linking to diff --git a/cpp/doxygen/Doxyfile b/cpp/doxygen/Doxyfile index 0a37670cf..74f9661c7 100644 --- a/cpp/doxygen/Doxyfile +++ b/cpp/doxygen/Doxyfile @@ -38,7 +38,7 @@ PROJECT_NAME = "libcuspatial" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 23.10.00 +PROJECT_NUMBER = 23.12.00 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a @@ -2171,7 +2171,7 @@ SKIP_FUNCTION_MACROS = YES # the path). If a tag file is not located in the directory in which doxygen is # run, you must also specify the path to the tagfile here. -TAGFILES = rmm.tag=https://docs.rapids.ai/api/librmm/23.10 "libcudf.tag=https://docs.rapids.ai/api/libcudf/23.10" +TAGFILES = rmm.tag=https://docs.rapids.ai/api/librmm/23.12 "libcudf.tag=https://docs.rapids.ai/api/libcudf/23.12" # When a file name is specified after GENERATE_TAGFILE, doxygen will create a # tag file that is based on the input files it reads. See section "Linking to diff --git a/cpp/include/cuspatial/column/geometry_column_view.hpp b/cpp/include/cuspatial/column/geometry_column_view.hpp index f872c4d37..56845b271 100644 --- a/cpp/include/cuspatial/column/geometry_column_view.hpp +++ b/cpp/include/cuspatial/column/geometry_column_view.hpp @@ -16,7 +16,6 @@ #pragma once -#include #include #include diff --git a/cpp/include/cuspatial/detail/index/construction/phase_1.cuh b/cpp/include/cuspatial/detail/index/construction/phase_1.cuh index 83866e01f..b06dbc6bb 100644 --- a/cpp/include/cuspatial/detail/index/construction/phase_1.cuh +++ b/cpp/include/cuspatial/detail/index/construction/phase_1.cuh @@ -38,6 +38,8 @@ #include #include +#include + #include #include #include @@ -73,14 +75,14 @@ compute_point_keys_and_sorted_indices(PointIt points_first, points_first, points_last, keys.begin(), - [=] __device__(vec_2d const& point) { + cuda::proclaim_return_type([=] __device__(vec_2d const& point) { if (point.x < min.x || point.x > max.x || point.y < min.y || point.y > max.y) { // If the point is outside the bbox, return a max_level key return static_cast((1 << (2 * max_depth)) - 1); } return cuspatial::detail::utility::z_order(static_cast((point.x - min.x) / scale), static_cast((point.y - min.y) / scale)); - }); + })); rmm::device_uvector indices(keys.size(), stream, mr); @@ -145,7 +147,9 @@ inline std::tuple, std::vector> buil // iterator for the parent level's quad node keys auto parent_keys = thrust::make_transform_iterator( - keys_begin, [] __device__(uint32_t const child_key) { return (child_key >> 2); }); + keys_begin, cuda::proclaim_return_type([] __device__(uint32_t const child_key) { + return (child_key >> 2); + })); // iterator for the current level's quad node point and child counts auto child_nodes = thrust::make_zip_iterator(quad_point_count_begin, quad_child_count_begin); diff --git a/cpp/include/cuspatial/detail/join/quadtree_bbox_filtering.cuh b/cpp/include/cuspatial/detail/join/quadtree_bbox_filtering.cuh index 9ba8744d0..31cc7e849 100644 --- a/cpp/include/cuspatial/detail/join/quadtree_bbox_filtering.cuh +++ b/cpp/include/cuspatial/detail/join/quadtree_bbox_filtering.cuh @@ -22,6 +22,7 @@ #include #include +#include #include #include @@ -47,10 +48,10 @@ join_quadtree_and_bounding_boxes(point_quadtree_ref quadtree, // Count the number of top-level nodes to start. // This could be provided explicitly, but count_if should be fast enough. - auto num_top_level_leaves = thrust::count_if(rmm::exec_policy(stream), - quadtree.level_begin(), - quadtree.level_end(), - thrust::placeholders::_1 == 0); + int32_t num_top_level_leaves = thrust::count_if(rmm::exec_policy(stream), + quadtree.level_begin(), + quadtree.level_end(), + thrust::placeholders::_1 == 0); auto num_pairs = num_top_level_leaves * num_boxes; @@ -89,10 +90,14 @@ join_quadtree_and_bounding_boxes(point_quadtree_ref quadtree, bounding_boxes_first, // The top-level node indices detail::make_counting_transform_iterator( - 0, [=] __device__(auto i) { return i % num_top_level_leaves; }), + 0, cuda::proclaim_return_type([=] __device__(auto i) { + return i % num_top_level_leaves; + })), // The top-level bbox indices detail::make_counting_transform_iterator( - 0, [=] __device__(auto i) { return i / num_top_level_leaves; }), + 0, cuda::proclaim_return_type([=] __device__(auto i) { + return i / num_top_level_leaves; + })), make_current_level_iter(), // intermediate intersections or parent // quadrants found during traversal // found intersecting quadrant and bbox indices for output diff --git a/cpp/include/cuspatial/detail/join/quadtree_point_to_nearest_linestring.cuh b/cpp/include/cuspatial/detail/join/quadtree_point_to_nearest_linestring.cuh index bdd0c611e..563c83e86 100644 --- a/cpp/include/cuspatial/detail/join/quadtree_point_to_nearest_linestring.cuh +++ b/cpp/include/cuspatial/detail/join/quadtree_point_to_nearest_linestring.cuh @@ -25,6 +25,7 @@ #include #include +#include #include #include @@ -247,7 +248,8 @@ quadtree_point_to_nearest_linestring(LinestringIndexIterator linestring_indices_ auto all_point_indices = thrust::make_transform_iterator(all_point_linestring_indices_and_distances, - [] __device__(auto const& x) { return thrust::get<0>(x); }); + cuda::proclaim_return_type( + [] __device__(auto const& x) { return thrust::get<0>(x); })); // Allocate vectors for the distances min reduction auto num_points = std::distance(point_indices_first, point_indices_last); @@ -272,22 +274,23 @@ quadtree_point_to_nearest_linestring(LinestringIndexIterator linestring_indices_ thrust::make_discard_iterator(), output_linestring_idxs.begin(), output_distances.begin()), thrust::equal_to(), // comparator // binop to select the point/linestring pair with the smallest distance - [] __device__(auto const& lhs, auto const& rhs) { - T const& d_lhs = thrust::get<2>(lhs); - T const& d_rhs = thrust::get<2>(rhs); - // If lhs distance is 0, choose rhs - if (d_lhs == T{0}) { return rhs; } - // if rhs distance is 0, choose lhs - if (d_rhs == T{0}) { return lhs; } - // If distances to lhs/rhs are the same, choose linestring with smallest id - if (d_lhs == d_rhs) { - auto const& i_lhs = thrust::get<1>(lhs); - auto const& i_rhs = thrust::get<1>(rhs); - return i_lhs < i_rhs ? lhs : rhs; - } - // Otherwise choose linestring with smallest distance - return d_lhs < d_rhs ? lhs : rhs; - }); + cuda::proclaim_return_type>( + [] __device__(auto const& lhs, auto const& rhs) { + T const& d_lhs = thrust::get<2>(lhs); + T const& d_rhs = thrust::get<2>(rhs); + // If lhs distance is 0, choose rhs + if (d_lhs == T{0}) { return rhs; } + // if rhs distance is 0, choose lhs + if (d_rhs == T{0}) { return lhs; } + // If distances to lhs/rhs are the same, choose linestring with smallest id + if (d_lhs == d_rhs) { + auto const& i_lhs = thrust::get<1>(lhs); + auto const& i_rhs = thrust::get<1>(rhs); + return i_lhs < i_rhs ? lhs : rhs; + } + // Otherwise choose linestring with smallest distance + return d_lhs < d_rhs ? lhs : rhs; + })); auto const num_distances = thrust::distance(point_idxs.begin(), point_idxs_end.first); diff --git a/cpp/include/cuspatial/detail/point_quadtree.cuh b/cpp/include/cuspatial/detail/point_quadtree.cuh index 3e70d1fe2..ebe9b02e6 100644 --- a/cpp/include/cuspatial/detail/point_quadtree.cuh +++ b/cpp/include/cuspatial/detail/point_quadtree.cuh @@ -30,6 +30,8 @@ #include #include +#include + #include namespace cuspatial { @@ -108,9 +110,9 @@ inline point_quadtree make_quad_tree(rmm::device_uvector& keys, offsets_iter + num_valid_nodes, offsets.begin(), // return is_internal_node ? lhs : rhs - [] __device__(auto const& t) { + cuda::proclaim_return_type([] __device__(auto const& t) { return thrust::get<0>(t) ? thrust::get<1>(t) : thrust::get<2>(t); - }); + })); return std::move(offsets); }(); @@ -126,9 +128,9 @@ inline point_quadtree make_quad_tree(rmm::device_uvector& keys, lengths_iter + num_valid_nodes, lengths.begin(), // return bool ? lhs : rhs - [] __device__(auto const& t) { + cuda::proclaim_return_type([] __device__(auto const& t) { return thrust::get<0>(t) ? thrust::get<1>(t) : thrust::get<2>(t); - }); + })); // Shrink keys to the number of valid nodes keys.resize(num_valid_nodes, stream); diff --git a/cpp/include/cuspatial_test/vector_factories.cuh b/cpp/include/cuspatial_test/vector_factories.cuh index cbf1d8f56..38de807b0 100644 --- a/cpp/include/cuspatial_test/vector_factories.cuh +++ b/cpp/include/cuspatial_test/vector_factories.cuh @@ -68,10 +68,12 @@ auto make_device_uvector(std::initializer_list inl, return res; } +// TODO: this can be eliminated when Thrust 2.1.0 is the minimum because +// thrust::host_vector has a constructor that takes an initializer_list template auto make_host_vector(std::initializer_list inl) { - return thrust::host_vector{inl.begin(), inl.end()}; + return thrust::host_vector(inl.begin(), inl.end()); } /** diff --git a/cpp/tests/distance/hausdorff_test.cu b/cpp/tests/distance/hausdorff_test.cu index 453ee02f3..6ef18341f 100644 --- a/cpp/tests/distance/hausdorff_test.cu +++ b/cpp/tests/distance/hausdorff_test.cu @@ -30,6 +30,8 @@ #include #include +#include + #include template @@ -43,7 +45,7 @@ struct HausdorffTest : public ::testing::Test { auto const d_space_offsets = rmm::device_vector{space_offsets}; auto const num_distances = space_offsets.size() * space_offsets.size(); - auto distances = rmm::device_vector{num_distances}; + auto distances = rmm::device_vector(num_distances); auto const distances_end = cuspatial::directed_hausdorff_distance(d_points.begin(), d_points.end(), @@ -150,10 +152,12 @@ void generic_hausdorff_test() auto zero_iter = thrust::make_constant_iterator({0, 0}); auto counting_iter = thrust::make_counting_iterator(0); auto space_offset_iter = thrust::make_transform_iterator( - counting_iter, [] __device__(auto idx) { return idx * elements_per_space; }); + counting_iter, cuda::proclaim_return_type([] __device__(auto idx) { + return idx * elements_per_space; + })); - auto distances = rmm::device_vector{num_distances}; - auto expected = rmm::device_vector{num_distances, 0}; + auto distances = rmm::device_vector(num_distances); + auto expected = rmm::device_vector(num_distances, 0); auto distances_end = cuspatial::directed_hausdorff_distance(zero_iter, zero_iter + num_points, diff --git a/cpp/tests/distance/haversine_test.cu b/cpp/tests/distance/haversine_test.cu index b0798a37d..3af600876 100644 --- a/cpp/tests/distance/haversine_test.cu +++ b/cpp/tests/distance/haversine_test.cu @@ -59,8 +59,8 @@ TYPED_TEST(HaversineTest, Zero) auto a_lonlat = rmm::device_vector(1, Location{0, 0}); auto b_lonlat = rmm::device_vector(1, Location{0, 0}); - auto distance = rmm::device_vector{1, -1}; - auto expected = rmm::device_vector{1, 0}; + auto distance = rmm::device_vector(1, -1); + auto expected = rmm::device_vector(1, 0); auto distance_end = cuspatial::haversine_distance( a_lonlat.begin(), a_lonlat.end(), b_lonlat.begin(), distance.begin()); diff --git a/cpp/tests/distance/linestring_distance_test.cu b/cpp/tests/distance/linestring_distance_test.cu index cb9836392..0748d9c59 100644 --- a/cpp/tests/distance/linestring_distance_test.cu +++ b/cpp/tests/distance/linestring_distance_test.cu @@ -209,8 +209,8 @@ TYPED_TEST(PairwiseLinestringDistanceTest, FromLongInputs) auto offset = rmm::device_vector{std::vector{0, 100, 200, 300, 400, num_points}}; - auto got = rmm::device_vector{num_pairs}; - auto expected = rmm::device_vector{std::vector{42.0, 42.0, 42.0, 42.0, 42.0}}; + auto got = rmm::device_vector(num_pairs); + auto expected = rmm::device_vector{{42.0, 42.0, 42.0, 42.0, 42.0}}; auto mlinestrings1 = make_multilinestring_range(num_pairs, thrust::make_counting_iterator(0), diff --git a/cpp/tests/trajectory/trajectory_distances_and_speeds_test.cu b/cpp/tests/trajectory/trajectory_distances_and_speeds_test.cu index 666b3c20b..819dae901 100644 --- a/cpp/tests/trajectory/trajectory_distances_and_speeds_test.cu +++ b/cpp/tests/trajectory/trajectory_distances_and_speeds_test.cu @@ -29,6 +29,8 @@ #include #include +#include + #include #include @@ -66,7 +68,8 @@ struct TrajectoryDistancesAndSpeedsTest : public ::testing::Test { thrust::reduce(expected_speeds.begin(), expected_speeds.end(), std::numeric_limits::lowest(), - [] __device__(T const& a, T const& b) { return max(abs(a), abs(b)); }); + cuda::proclaim_return_type( + [] __device__(T const& a, T const& b) { return max(abs(a), abs(b)); })); // We expect the floating point error (in ulps) due to be proportional to the number of // operations to compute the relevant quantity. For distance, this computation is diff --git a/cpp/tests/trajectory/trajectory_test_utils.cuh b/cpp/tests/trajectory/trajectory_test_utils.cuh index 679674674..847748fc6 100644 --- a/cpp/tests/trajectory/trajectory_test_utils.cuh +++ b/cpp/tests/trajectory/trajectory_test_utils.cuh @@ -296,7 +296,7 @@ struct trajectory_test_data { auto id_and_position = thrust::make_zip_iterator(ids_sorted.begin(), points_sorted.begin()); - auto distance_per_step = rmm::device_vector{points.size()}; + auto distance_per_step = rmm::device_vector(points.size()); thrust::transform(rmm::exec_policy(), id_and_position, diff --git a/dependencies.yaml b/dependencies.yaml index eb564f809..e25238ab1 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -122,8 +122,8 @@ dependencies: - cxx-compiler - gmock>=1.13.0 - gtest>=1.13.0 - - libcudf==23.10.* - - librmm==23.10.* + - libcudf==23.12.* + - librmm==23.12.* - proj - sqlite specific: @@ -168,7 +168,7 @@ dependencies: - cxx-compiler - gmock>=1.13.0 - gtest>=1.13.0 - - librmm==23.10.* + - librmm==23.12.* - proj - sqlite specific: @@ -208,6 +208,15 @@ dependencies: - cython>=3.0.0 - scikit-build>=0.13.1 - setuptools + - output_types: conda + packages: &build_python_packages_conda + - &cudf_conda cudf==23.12.* + - &rmm_conda rmm==23.12.* + - output_types: requirements + packages: + # pip recognizes the index as a global option for the requirements.txt file + # This index is needed for cudf and rmm. + - --extra-index-url=https://pypi.nvidia.com specific: - output_types: conda matrices: @@ -221,6 +230,20 @@ dependencies: packages: - *gcc_aarch64 - *sysroot_aarch64 + - output_types: [requirements, pyproject] + matrices: + - matrix: {cuda: "12.0"} + packages: + - cudf-cu12==23.12.* + - rmm-cu12==23.12.* + - matrix: {cuda: "11.8"} + packages: &build_python_packages_cu11 + - &cudf_cu11 cudf-cu11==23.12.* + - &rmm_cu11 rmm-cu11==23.12.* + - {matrix: {cuda: "11.5"}, packages: *build_python_packages_cu11} + - {matrix: {cuda: "11.4"}, packages: *build_python_packages_cu11} + - {matrix: {cuda: "11.2"}, packages: *build_python_packages_cu11} + - {matrix: null, packages: [*cudf_conda, *rmm_conda] } build_python_cuproj: common: - output_types: [conda, requirements, pyproject] @@ -241,6 +264,18 @@ dependencies: packages: - *gcc_aarch64 - *sysroot_aarch64 + - output_types: [requirements, pyproject] + matrices: + - matrix: {cuda: "12.0"} + packages: + - rmm-cu12==23.12.* + - matrix: {cuda: "11.8"} + packages: + - *rmm_cu11 + - {matrix: {cuda: "11.5"}, packages: *build_python_packages_cu11} + - {matrix: {cuda: "11.4"}, packages: *build_python_packages_cu11} + - {matrix: {cuda: "11.2"}, packages: *build_python_packages_cu11} + - {matrix: null, packages: [*rmm_conda] } build_wheels: common: - output_types: [requirements, pyproject] @@ -309,9 +344,23 @@ dependencies: - pydeck - shapely - scikit-image - - output_types: [requirements, pyproject] + - output_types: conda packages: + - &cuml_conda cuml==23.12.* - pyproj + specific: + - output_types: [requirements, pyproject] + matrices: + - {matrix: null, packages: [*cuml_conda]} + - matrix: {cuda: "12.0"} + packages: + - cuml-cu12==23.12.* + - matrix: {cuda: "11.8"} + packages: ¬ebooks_packages_cu11 + - &cuml_cu11 cuml-cu11==23.12.* + - {matrix: {cuda: "11.5"}, packages: *notebooks_packages_cu11} + - {matrix: {cuda: "11.4"}, packages: *notebooks_packages_cu11} + - {matrix: {cuda: "11.2"}, packages: *notebooks_packages_cu11} py_version: specific: - output_types: conda @@ -332,6 +381,58 @@ dependencies: - output_types: [conda, requirements, pyproject] packages: - geopandas>=0.11.0 + - output_types: conda + packages: + - *cudf_conda + - *rmm_conda + - output_types: requirements + packages: + # pip recognizes the index as a global option for the requirements.txt file + # This index is needed for cudf and rmm. + - --extra-index-url=https://pypi.nvidia.com + specific: + - output_types: [requirements, pyproject] + matrices: + - matrix: {cuda: "12.0"} + packages: + - cudf-cu12==23.12.* + - rmm-cu12==23.12.* + - matrix: {cuda: "11.8"} + packages: &run_python_cuspatial_packages_cu11 + - cudf-cu11==23.12.* + - rmm-cu11==23.12.* + - {matrix: {cuda: "11.5"}, packages: *run_python_cuspatial_packages_cu11} + - {matrix: {cuda: "11.4"}, packages: *run_python_cuspatial_packages_cu11} + - {matrix: {cuda: "11.2"}, packages: *run_python_cuspatial_packages_cu11} + - {matrix: null, packages: [*cudf_conda, *rmm_conda]} + run_python_cuproj: + common: + - output_types: conda + packages: + - *rmm_conda + - cupy>=12.0.0 + - output_types: requirements + packages: + # pip recognizes the index as a global option for the requirements.txt file + # This index is needed for rmm + - --extra-index-url=https://pypi.ngc.nvidia.com + - &cupy_pip cupy-cuda11x>=12.0.0 + - output_types: pyproject + packages: + - *cupy_pip + specific: + - output_types: [requirements, pyproject] + matrices: + - matrix: {cuda: "12.0"} + packages: + - rmm-cu12==23.12.* + - matrix: {cuda: "11.8"} + packages: &run_python_cuproj_packages_cu11 + - rmm-cu11==23.12.* + - {matrix: {cuda: "11.5"}, packages: *run_python_cuproj_packages_cu11} + - {matrix: {cuda: "11.4"}, packages: *run_python_cuproj_packages_cu11} + - {matrix: {cuda: "11.2"}, packages: *run_python_cuproj_packages_cu11} + - {matrix: null, packages: [*rmm_conda]} test_python_cuspatial: common: - output_types: [conda, requirements, pyproject] @@ -355,7 +456,7 @@ dependencies: common: - output_types: conda packages: - - &rmm_conda rmm==23.10.* + - *rmm_conda - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -365,12 +466,12 @@ dependencies: matrices: - matrix: {cuda: "12.2"} packages: &rmm_packages_pip_cu12 - - rmm-cu12==23.10.* + - rmm-cu12==23.12.* - {matrix: {cuda: "12.1"}, packages: *rmm_packages_pip_cu12} - {matrix: {cuda: "12.0"}, packages: *rmm_packages_pip_cu12} - matrix: {cuda: "11.8"} packages: &rmm_packages_pip_cu11 - - rmm-cu11==23.10.* + - rmm-cu11==23.12.* - {matrix: {cuda: "11.5"}, packages: *rmm_packages_pip_cu11} - {matrix: {cuda: "11.4"}, packages: *rmm_packages_pip_cu11} - {matrix: {cuda: "11.2"}, packages: *rmm_packages_pip_cu11} @@ -380,7 +481,7 @@ dependencies: common: - output_types: conda packages: - - &cudf_conda cudf==23.10.* + - *cudf_conda - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -390,12 +491,12 @@ dependencies: matrices: - matrix: {cuda: "12.2"} packages: &cudf_packages_pip_cu12 - - cudf-cu12==23.10.* + - cudf-cu12==23.12.* - {matrix: {cuda: "12.1"}, packages: *cudf_packages_pip_cu12} - {matrix: {cuda: "12.0"}, packages: *cudf_packages_pip_cu12} - matrix: {cuda: "11.8"} packages: &cudf_packages_pip_cu11 - - cudf-cu11==23.10.* + - cudf-cu11==23.12.* - {matrix: {cuda: "11.5"}, packages: *cudf_packages_pip_cu11} - {matrix: {cuda: "11.4"}, packages: *cudf_packages_pip_cu11} - {matrix: {cuda: "11.2"}, packages: *cudf_packages_pip_cu11} @@ -405,7 +506,7 @@ dependencies: common: - output_types: conda packages: - - &cuml_conda cuml==23.10.* + - *cuml_conda - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -415,12 +516,12 @@ dependencies: matrices: - matrix: {cuda: "12.2"} packages: &cuml_packages_pip_cu12 - - cuml-cu12==23.10.* + - cuml-cu12==23.12.* - {matrix: {cuda: "12.1"}, packages: *cuml_packages_pip_cu12} - {matrix: {cuda: "12.0"}, packages: *cuml_packages_pip_cu12} - matrix: {cuda: "11.8"} packages: &cuml_packages_pip_cu11 - - cuml-cu11==23.10.* + - cuml-cu11==23.12.* - {matrix: {cuda: "11.5"}, packages: *cuml_packages_pip_cu11} - {matrix: {cuda: "11.4"}, packages: *cuml_packages_pip_cu11} - {matrix: {cuda: "11.2"}, packages: *cuml_packages_pip_cu11} diff --git a/docs/cuproj/source/conf.py b/docs/cuproj/source/conf.py index 7d3dcdd53..6d9211c41 100644 --- a/docs/cuproj/source/conf.py +++ b/docs/cuproj/source/conf.py @@ -50,9 +50,9 @@ # built documents. # # The short X.Y version. -version = '23.10' +version = '23.12' # The full version, including alpha/beta/rc tags. -release = '23.10.00' +release = '23.12.00' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/docs/cuproj/source/user_guide/cuproj_api_examples.ipynb b/docs/cuproj/source/user_guide/cuproj_api_examples.ipynb index 1a7c25563..c9d11941f 100644 --- a/docs/cuproj/source/user_guide/cuproj_api_examples.ipynb +++ b/docs/cuproj/source/user_guide/cuproj_api_examples.ipynb @@ -45,8 +45,8 @@ "metadata": {}, "outputs": [], "source": [ - "# !conda create -n rapids-23.08 --solver=libmamba -c rapidsai -c conda-forge -c nvidia \\ \n", - "# cuproj=23.08 python=3.10 cuda-version=12.0" + "# !conda create -n rapids-23.12 --solver=libmamba -c rapidsai -c conda-forge -c nvidia \\ \n", + "# cuproj-23.12 python=3.10 cuda-version=12.0" ] }, { diff --git a/docs/source/conf.py b/docs/source/conf.py index 89d88301a..9d92bc2c6 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -50,9 +50,9 @@ # built documents. # # The short X.Y version. -version = '23.10' +version = '23.12' # The full version, including alpha/beta/rc tags. -release = '23.10.00' +release = '23.12.00' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/docs/source/user_guide/cuspatial_api_examples.ipynb b/docs/source/user_guide/cuspatial_api_examples.ipynb index b85399729..027428a04 100644 --- a/docs/source/user_guide/cuspatial_api_examples.ipynb +++ b/docs/source/user_guide/cuspatial_api_examples.ipynb @@ -57,8 +57,8 @@ "metadata": {}, "outputs": [], "source": [ - "# !conda create -n rapids-22.08 -c rapidsai -c conda-forge -c nvidia \\ \n", - "# cuspatial=22.08 python=3.9 cudatoolkit=11.5 " + "# !conda create -n rapids-23.12 -c rapidsai -c conda-forge -c nvidia \\ \n", + "# cuspatial=23.12 python=3.9 cudatoolkit=11.5 " ] }, { diff --git a/fetch_rapids.cmake b/fetch_rapids.cmake index d89046dfa..2d141d2e9 100644 --- a/fetch_rapids.cmake +++ b/fetch_rapids.cmake @@ -11,8 +11,10 @@ # or implied. See the License for the specific language governing permissions and limitations under # the License. # ============================================================================= +set(rapids-cmake-repo bdice/rapids-cmake) +set(rapids-cmake-branch cccl-update-2.1.0) if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/CUSPATIAL_RAPIDS.cmake) - file(DOWNLOAD https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-23.10/RAPIDS.cmake + file(DOWNLOAD https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-23.12/RAPIDS.cmake ${CMAKE_BINARY_DIR}/CUSPATIAL_RAPIDS.cmake ) endif() diff --git a/python/cuproj/CMakeLists.txt b/python/cuproj/CMakeLists.txt index 771200aad..516dbd323 100644 --- a/python/cuproj/CMakeLists.txt +++ b/python/cuproj/CMakeLists.txt @@ -14,7 +14,7 @@ cmake_minimum_required(VERSION 3.26.4 FATAL_ERROR) -set(cuproj_version 23.10.00) +set(cuproj_version 23.12.00) include(../../fetch_rapids.cmake) include(rapids-cuda) diff --git a/python/cuproj/cuproj/__init__.py b/python/cuproj/cuproj/__init__.py index 3bc512666..1935c1d0f 100644 --- a/python/cuproj/cuproj/__init__.py +++ b/python/cuproj/cuproj/__init__.py @@ -2,4 +2,4 @@ from .transformer import Transformer -__version__ = "23.10.00" +__version__ = "23.12.00" diff --git a/python/cuproj/cuproj/cuprojshim/CMakeLists.txt b/python/cuproj/cuproj/cuprojshim/CMakeLists.txt index 2a63a03fb..dfc229cf2 100644 --- a/python/cuproj/cuproj/cuprojshim/CMakeLists.txt +++ b/python/cuproj/cuproj/cuprojshim/CMakeLists.txt @@ -14,7 +14,7 @@ cmake_minimum_required(VERSION 3.26.4 FATAL_ERROR) -set(cuproj_version 23.10.00) +set(cuproj_version 23.12.00) include(../../../../fetch_rapids.cmake) include(rapids-cmake) diff --git a/python/cuproj/pyproject.toml b/python/cuproj/pyproject.toml index 525c9fda6..8a6b84df3 100644 --- a/python/cuproj/pyproject.toml +++ b/python/cuproj/pyproject.toml @@ -18,7 +18,7 @@ requires = [ "cmake>=3.26.4", "cython>=3.0.0", "ninja", - "rmm==23.10.*", + "rmm==23.12.*", "scikit-build>=0.13.1", "setuptools", "wheel", @@ -26,7 +26,7 @@ requires = [ [project] name = "cuproj" -version = "23.10.0" +version = "23.12.0" description = "cuProj: GPU-Accelerated Coordinate Projection" readme = { file = "README.md", content-type = "text/markdown" } authors = [{ name = "NVIDIA Corporation" }] @@ -34,7 +34,7 @@ license = { text = "Apache 2.0" } requires-python = ">=3.9" dependencies = [ "cupy-cuda11x>=12.0.0", - "rmm==23.10.*", + "rmm==23.12.*", ] # 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", diff --git a/python/cuspatial/CMakeLists.txt b/python/cuspatial/CMakeLists.txt index 7ef7f58af..2ff126d5a 100644 --- a/python/cuspatial/CMakeLists.txt +++ b/python/cuspatial/CMakeLists.txt @@ -14,7 +14,7 @@ cmake_minimum_required(VERSION 3.26.4 FATAL_ERROR) -set(cuspatial_version 23.10.00) +set(cuspatial_version 23.12.00) include(../../fetch_rapids.cmake) include(rapids-cuda) diff --git a/python/cuspatial/cuspatial/__init__.py b/python/cuspatial/cuspatial/__init__.py index cd11e4950..b9680cf39 100644 --- a/python/cuspatial/cuspatial/__init__.py +++ b/python/cuspatial/cuspatial/__init__.py @@ -29,4 +29,4 @@ ) from .io.geopandas import from_geopandas -__version__ = "23.10.00" +__version__ = "23.12.00" diff --git a/python/cuspatial/pyproject.toml b/python/cuspatial/pyproject.toml index 14db3feae..e3e306bf9 100644 --- a/python/cuspatial/pyproject.toml +++ b/python/cuspatial/pyproject.toml @@ -16,10 +16,10 @@ build-backend = "setuptools.build_meta" requires = [ "cmake>=3.26.4", - "cudf==23.10.*", + "cudf==23.12.*", "cython>=3.0.0", "ninja", - "rmm==23.10.*", + "rmm==23.12.*", "scikit-build>=0.13.1", "setuptools", "wheel", @@ -27,7 +27,7 @@ requires = [ [project] name = "cuspatial" -version = "23.10.0" +version = "23.12.0" description = "cuSpatial: GPU-Accelerated Spatial and Trajectory Data Management and Analytics Library" readme = { file = "README.md", content-type = "text/markdown" } authors = [ @@ -36,9 +36,9 @@ authors = [ license = { text = "Apache 2.0" } requires-python = ">=3.9" dependencies = [ - "cudf==23.10.*", + "cudf==23.12.*", "geopandas>=0.11.0", - "rmm==23.10.*", + "rmm==23.12.*", ] # 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",