Skip to content

Build and test with CUDA 13.0.0#5236

Merged
rapids-bot[bot] merged 5 commits intorapidsai:branch-25.10from
jameslamb:cuda-13.0.0
Aug 29, 2025
Merged

Build and test with CUDA 13.0.0#5236
rapids-bot[bot] merged 5 commits intorapidsai:branch-25.10from
jameslamb:cuda-13.0.0

Conversation

@jameslamb
Copy link
Member

@jameslamb jameslamb commented Aug 22, 2025

Contributes to rapidsai/build-planning#208

  • uses CUDA 13.0.0 to build and test
  • adds CUDA 13 devcontainers
  • moves some dependency pins:
    • cuda-python: >=12.9.2 (CUDA 12), >=13.0.1 (CUDA 13)
    • cupy: >=13.6.0

Contributes to rapidsai/build-planning#68

  • updates to CUDA 13 dependencies in fallback entries in dependencies.yaml matrices (i.e., the ones that get written to pyproject.toml in source control)

Notes for Reviewers

This switches GitHub Actions workflows to the cuda13.0 branch from here: rapidsai/shared-workflows#413

A future round of PRs will revert that back to branch-25.10, once all of RAPIDS supports CUDA 13.

@jameslamb jameslamb added non-breaking Non-breaking change improvement Improvement / enhancement to an existing function labels Aug 22, 2025
@copy-pr-bot

This comment was marked as resolved.

rapids-bot bot pushed a commit that referenced this pull request Aug 22, 2025
This project no longer has any dependency on `cugraph-pyg` or `pylibwholegraph`.

This removes some lingering configuration for them in `dependencies.yaml` and `update-version.sh`.

## Notes for Reviewers

Discovered while working on #5236. Getting this merged soon would make the diff there a bit smaller.

Found like this:

```shell
git grep -i pyg
git grep -i wholegraph
```

Authors:
  - James Lamb (https://github.com/jameslamb)

Approvers:
  - Brad Rees (https://github.com/BradReesWork)
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)
  - Bradley Dice (https://github.com/bdice)

URL: #5237
@jameslamb
Copy link
Member Author

/ok to test

@jameslamb
Copy link
Member Author

Wheel builds all succeeded on the most recent run... good evidence that there aren't any significant C++ issues that'll prevent us from building against CUDA 13 here.

https://github.com/rapidsai/cugraph/actions/runs/17212019556/job/48826027332?pr=5236

conda C++ builds are failing because libcugraph_etl (which we don't build wheels for) needs libucdf. Most other jobs are also failing because we need cudf / libcudf / pylibcudf packages.

Will update this once rapidsai/cudf#19768 is done.

@jameslamb
Copy link
Member Author

/ok to test

@jameslamb
Copy link
Member Author

Everything for wheels is looking good! But libcugraph_etl is not compiling on CUDA 13.

Problem 1: libcugraph_etl fails to compile on CUDA 13

 │ │ sccache $BUILD_PREFIX/bin/nvcc -forward-unknown-to-host-compiler -DCCCL_DISABLE_PDL -DCUB_DISABLE_NAMESPACE_MAGIC -DCUB_IGNORE_NAMESPACE_MAGIC_ERROR -DCUDA_API_PER_THREAD_DEFAULT_STREAM -DCUTLASS_NAMESPACE=raft_cutlass -DLIBCUDACXX_ENABLE_EXPERIMENTAL_MEMORY_RESOURCE -DRAFT_LOG_ACTIVE_LEVEL=RAPIDS_LOGGER_LOG_LEVEL_INFO -DRAFT_SYSTEM_LITTLE_ENDIAN=1 -DTHRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_CUDA -DTHRUST_DISABLE_ABI_NAMESPACE -DTHRUST_HOST_SYSTEM=THRUST_HOST_SYSTEM_CPP -DTHRUST_IGNORE_ABI_NAMESPACE_ERROR -Dcugraph_etl_EXPORTS -I$SRC_DIR/cpp/libcugraph_etl/src -I$SRC_DIR/cpp/libcugraph_etl/include -I$SRC_DIR/cpp/build/_deps/cccl-src/lib/cmake/thrust/../../../thrust -I$SRC_DIR/cpp/build/_deps/cccl-src/lib/cmake/libcudacxx/../../../libcudacxx/include -I$SRC_DIR/cpp/build/_deps/cccl-src/lib/cmake/cub/../../../cub -isystem $BUILD_PREFIX/targets/x86_64-linux/include -isystem $BUILD_PREFIX/targets/x86_64-linux/include/cccl -isystem $SRC_DIR/cpp/include -isystem $PREFIX/include -isystem $SRC_DIR/cpp/build/_deps/cuco-src/include -O3 -DNDEBUG -std=c++17 "--generate-code=arch=compute_75,code=[sm_75]" "--generate-code=arch=compute_80,code=[sm_80]" "--generate-code=arch=compute_86,code=[sm_86]" "--generate-code=arch=compute_90a,code=[sm_90a]" "--generate-code=arch=compute_100f,code=[sm_100f]" "--generate-code=arch=compute_120a,code=[sm_120a]" "--generate-code=arch=compute_120,code=[compute_120,sm_120]" -Xcompiler=-fPIC --expt-extended-lambda --expt-relaxed-constexpr -Werror=cross-execution-space-call -Wno-deprecated-declarations -Xptxas=--disable-warnings -Xcompiler=-Wall,-Wno-error=sign-compare,-Wno-error=unused-but-set-variable -Xfatbin=-compress-all --compress-mode=size -MD -MT CMakeFiles/cugraph_etl.dir/src/renumbering.cu.o -MF CMakeFiles/cugraph_etl.dir/src/renumbering.cu.o.d -x cu -c $SRC_DIR/cpp/libcugraph_etl/src/renumbering.cu -o CMakeFiles/cugraph_etl.dir/src/renumbering.cu.o
 │ │ $PREFIX/include/cudf/utilities/span.hpp(82): warning #20012-D: __host__ annotation is ignored on a non-virtual function("span_base") that is explicitly defaulted on its first declaration
 │ │    __attribute__((host)) __attribute__((device)) 
...
 │ │ $SRC_DIR/cpp/libcugraph_etl/include/hash/concurrent_unordered_map.cuh(548): error: no suitable constructor exists to convert from "int" to "cudaMemLocation"
 │ │          cudaMemPrefetchAsync_ptsz( m_hashtbl_values, m_capacity * sizeof(value_type), dev_id, stream.value())
...
 │ │           detected during instantiation of "concurrent_unordered_map<Key, Element, Hasher, Equality, Allocator>::concurrent_unordered_map(concurrent_unordered_map<Key, Element, Hasher, Equality, Allocator>::size_type, concurrent_unordered_map<Key, Element, Hasher, Equality, Allocator>::mapped_type, concurrent_unordered_map<Key, Element, Hasher, Equality, Allocator>::key_type, const Hasher &, const Equality &, const concurrent_unordered_map<Key, Element, Hasher, Equality, Allocator>::allocator_type &, rmm::cuda_stream_view) [with Key=uint32_t, Element=cugraph::etl::str_hash_value, Hasher=cudf::hashing::detail::MurmurHash3_x86_32<uint32_t>, Equality=equal_to<uint32_t>, Allocator=rmm::mr::polymorphic_allocator<cuda::std::__4::pair<uint32_t, cugraph::etl::str_hash_value>>]" at line 802 of $SRC_DIR/cpp/libcugraph_etl/src/renumbering.cu
 │ │ $SRC_DIR/cpp/libcugraph_etl/include/hash/concurrent_unordered_map.cuh(548): error: argument of type "cudaStream_t" (aka "CUstream_st *") is incompatible with parameter of type "unsigned int"
 │ │          cudaMemPrefetchAsync_ptsz( m_hashtbl_values, m_capacity * sizeof(value_type), dev_id, stream.value())

(conda-cpp-build link)

@robertmaynard
Copy link
Contributor

/okay to test

@robertmaynard
Copy link
Contributor

/okay to test

@jameslamb jameslamb changed the title WIP: Build and test with CUDA 13.0.0 Build and test with CUDA 13.0.0 Aug 29, 2025
@jameslamb jameslamb marked this pull request as ready for review August 29, 2025 03:20
@jameslamb jameslamb requested review from a team as code owners August 29, 2025 03:20
@jameslamb jameslamb requested a review from bdice August 29, 2025 03:20
Copy link
Contributor

@nv-rliu nv-rliu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks

@jameslamb
Copy link
Member Author

Thanks everyone!!!

@jameslamb
Copy link
Member Author

/merge

@rapids-bot rapids-bot bot merged commit 9874c70 into rapidsai:branch-25.10 Aug 29, 2025
196 of 198 checks passed
@jameslamb jameslamb deleted the cuda-13.0.0 branch August 29, 2025 18:45
rapids-bot bot pushed a commit that referenced this pull request Sep 2, 2025
Follow-up to #5236

Starting with rapidsai/dask-cuda#1536, `dask-cuda` wheels now have extras like `[cu12]` and `[cu13]` to ensure a consistent set of CUDA-major-version-specific dependencies are installed.

This proposes using those extras in this project's wheel dependencies on `dask-cuda`.

Authors:
  - James Lamb (https://github.com/jameslamb)

Approvers:
  - Brad Rees (https://github.com/BradReesWork)
  - Jake Awe (https://github.com/AyodeAwe)

URL: #5243
rapids-bot bot pushed a commit that referenced this pull request Sep 4, 2025
Follow-up to #5236

There, I intended to introduce a dependency on `torch` nightly wheels for CUDA 13, but made a typo in the `dependencies.yaml` filter. This fixes that, so that wheels for the correct `torch` variant + version will be installed in wheel-testing CI jobs here.

Authors:
  - James Lamb (https://github.com/jameslamb)

Approvers:
  - Gil Forsyth (https://github.com/gforsyth)

URL: #5244
rapids-bot bot pushed a commit that referenced this pull request Dec 4, 2025
Contributes to rapidsai/build-planning#208

Follow-up to #5236

Similar to rapidsai/cugraph-gnn#355

PyTorch now has official releases with CUDA 13 support. This switches from nightlies to those releases for wheels in CI here.

Authors:
  - James Lamb (https://github.com/jameslamb)

Approvers:
  - Bradley Dice (https://github.com/bdice)

URL: #5356
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improvement / enhancement to an existing function non-breaking Non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants