Skip to content

Add compiler('cuda') to ucxx builds.#108

Merged
rapids-bot[bot] merged 3 commits intorapidsai:branch-0.35from
bdice:add-cuda-compiler-to-ucxx-conda-builds
Oct 21, 2023
Merged

Add compiler('cuda') to ucxx builds.#108
rapids-bot[bot] merged 3 commits intorapidsai:branch-0.35from
bdice:add-cuda-compiler-to-ucxx-conda-builds

Conversation

@bdice
Copy link
Contributor

@bdice bdice commented Oct 20, 2023

Some build failures have been occurring on CUDA 12. This PR fixes the builds by adding a build dependency on compiler('cuda') for CUDA 12 in the ucxx package.

Also includes changes from #107.

-- Found Threads: TRUE  
CMake Error at /opt/conda/conda-bld/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/cmake/rmm/rmm-config.cmake:157 (thrust_create_target):
  Unknown CMake command "thrust_create_target".
Call Stack (most recent call first):
  /opt/conda/conda-bld/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/cmake/ucxx/ucxx-dependencies.cmake:23 (find_package)
  /opt/conda/conda-bld/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/cmake/ucxx/ucxx-config.cmake:81 (include)
  CMakeLists.txt:28 (find_package)


-- Configuring incomplete, errors occurred!
Traceback (most recent call last):
  File "/opt/conda/conda-bld/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.10/site-packages/skbuild/setuptools_wrap.py", line 666, in setup
    env = cmkr.configure(
  File "/opt/conda/conda-bld/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.10/site-packages/skbuild/cmaker.py", line 357, in configure
    raise SKBuildError(msg)

@bdice bdice requested a review from a team as a code owner October 20, 2023 20:42
@bdice bdice added bug Something isn't working non-breaking Introduces a non-breaking change labels Oct 20, 2023
@bdice bdice self-assigned this Oct 20, 2023
Copy link
Member

@pentschev pentschev left a comment

Choose a reason for hiding this comment

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

LGTM, thanks @bdice !

@pentschev
Copy link
Member

/merge

@rapids-bot rapids-bot bot merged commit 50e2083 into rapidsai:branch-0.35 Oct 21, 2023
@jakirkham
Copy link
Member

Thanks all! 🙏

rapids-bot bot pushed a commit that referenced this pull request Oct 24, 2023
Some improvements / modernizations for the package and dependencies. Depends on #108.

Authors:
  - Bradley Dice (https://github.com/bdice)
  - https://github.com/jakirkham
  - Peter Andreas Entschev (https://github.com/pentschev)

Approvers:
  - Peter Andreas Entschev (https://github.com/pentschev)
  - Ray Douglass (https://github.com/raydouglass)

URL: #109
@jakirkham jakirkham mentioned this pull request Feb 20, 2024
rapids-bot bot pushed a commit that referenced this pull request Feb 21, 2024
`ucxx`'s CUDA compiler dependency added a `cuda-version` constraint at runtime that meant packages could only be installed with the same CUDA version `ucxx` was built with or newer. As a result CUDA 12.2 builds of `ucxx` required that CUDA 12.2+ would be used at runtime

However as we use [CUDA Compatibility]( https://docs.nvidia.com/deploy/cuda-compatibility/index.html ) in RAPIDS, we know that even if we built with CUDA 12.2, we can still use packages for other CUDA 12.x

This was largely handled for other dependencies as part of PR ( #161 ). However this wasn't handled for `ucxx`, which was likely in part as it was handling the CUDA compiler dependency differently from the other packages here. More history about `ucxx`'s CUDA compiler dependency in PR: #108

This change aligns how CUDA compiler is handled across packages to make this more consistent. Also it ignores the CUDA compiler constraints added at runtime. In all cases the packages handle this themselves by requiring `cuda-version` (properly constrained) and when CUDA 11 is concerned they add `cudatoolkit`

Thus this change should fix CI issues that were seen due to this overly constrained `cuda-version` by relaxing that constraint

Authors:
  - https://github.com/jakirkham

Approvers:
  - Bradley Dice (https://github.com/bdice)
  - Peter Andreas Entschev (https://github.com/pentschev)
  - Ray Douglass (https://github.com/raydouglass)

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

Labels

bug Something isn't working non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants