Skip to content

Commit

Permalink
handle overlinking errors and ensure deps aren't overconstrained
Browse files Browse the repository at this point in the history
  • Loading branch information
gforsyth committed Feb 25, 2025
1 parent b0cf6cc commit 27e8509
Showing 1 changed file with 65 additions and 15 deletions.
80 changes: 65 additions & 15 deletions conda/recipes/ucxx/recipe.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,26 +63,38 @@ outputs:
build:
string: cuda${{ cuda_major }}_${{ date_string }}_${{ head_rev }}
script: install_libucxx.sh
dynamic_linking:
overlinking_behavior: "error"
requirements:
build:
- cmake ${{ cmake_version }}
- ${{ compiler("c") }}
- ${{ compiler("cxx") }}
- ${{ compiler("cuda") }}
host:
- ucx
- cuda-version =${{ cuda_version }}
- if: cuda_major == "11"
then: cudatoolkit
- librmm
run:
- if: cuda_major == "11"
then: cudatoolkit
- ${{ pin_compatible("cuda-version", upper_bound="x", lower_bound="x") }}
- ucx >=1.15.0,<1.19.0
- ${{ pin_compatible("librmm", upper_bound="x.x") }}
run_exports:
- ${{ pin_subpackage("libucxx", upper_bound="x.x") }}
ignore_run_exports:
from_package:
- ucx
- python
- cuda-cudart-dev
- librmm
- python
- ucx
by_name:
- cuda-version
- if: cuda_major == "11"
then: cudatoolkit
tests:
- package_contents:
files:
Expand Down Expand Up @@ -126,9 +138,16 @@ outputs:
build:
string: ${{ date_string }}_${{ head_rev }}
script: cmake --install cpp/build --component examples
dynamic_linking:
overlinking_behavior: "error"
requirements:
build:
- ${{ compiler("c") }}
- ${{ compiler("cxx") }}
- ${{ compiler("cuda") }}
- cmake ${{ cmake_version }}
host:
- libucxx
run:
- ${{ pin_subpackage("libucxx", exact=True) }}
ignore_run_exports:
Expand All @@ -138,6 +157,8 @@ outputs:
- ucx
by_name:
- cuda-version
- if: cuda_major == "11"
then: cudatoolkit
about:
homepage: ${{ load_from_file("python/libucxx/pyproject.toml").project.urls.Homepage }}
license: ${{ load_from_file("python/libucxx/pyproject.toml").project.license.text }}
Expand All @@ -149,26 +170,34 @@ outputs:
build:
string: cuda${{ cuda_major }}_${{ date_string }}_${{ head_rev }}
script: cmake --install cpp/build --component testing
dynamic_linking:
overlinking_behavior: "error"
requirements:
build:
- ${{ compiler("c") }}
- ${{ compiler("cxx") }}
- ${{ compiler("cuda") }}
- cmake ${{ cmake_version }}
host:
- cuda-version =${{ cuda_version }}
- if: cuda_major == "11"
then: cudatoolkit
else: cuda-cudart-dev
- libucxx
run:
- ${{ pin_subpackage("libucxx", exact=True) }}
- if: cuda_major == "11"
then:
- cudatoolkit
else:
- cuda-cudart
then: cudatoolkit
- ${{ pin_compatible("cuda-version", upper_bound="x", lower_bound="x") }}
- ${{ pin_subpackage("libucxx", exact=True) }}
ignore_run_exports:
from_package:
- cuda-cudart-dev
- python
- ucx
by_name:
- cuda-version
- if: cuda_major == "11"
then: cudatoolkit
about:
homepage: ${{ load_from_file("python/libucxx/pyproject.toml").project.urls.Homepage }}
license: ${{ load_from_file("python/libucxx/pyproject.toml").project.license.text }}
Expand All @@ -179,9 +208,30 @@ outputs:
version: ${{ version }}
build:
string: cuda${{ cuda_major }}_py${{ py_version }}_${{ date_string }}_${{ head_rev }}
dynamic_linking:
overlinking_behavior: "error"
missing_dso_allowlist:
- "lib/libpython3.12.so*"
script:
- cmake --install cpp/python/build
- ./build.sh ucxx --cmake-args="\"-DFIND_UCXX_PYTHON=ON\""
content:
- cmake --install cpp/python/build
- ./build.sh ucxx --cmake-args="\"-DFIND_UCXX_PYTHON=ON\""
secrets:
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_SESSION_TOKEN
env:
CMAKE_C_COMPILER_LAUNCHER: ${{ env.get("CMAKE_C_COMPILER_LAUNCHER") }}
CMAKE_CUDA_COMPILER_LAUNCHER: ${{ env.get("CMAKE_CUDA_COMPILER_LAUNCHER") }}
CMAKE_CXX_COMPILER_LAUNCHER: ${{ env.get("CMAKE_CXX_COMPILER_LAUNCHER") }}
CMAKE_GENERATOR: ${{ env.get("CMAKE_GENERATOR") }}
PARALLEL_LEVEL: ${{ env.get("PARALLEL_LEVEL") }}
SCCACHE_BUCKET: ${{ env.get("SCCACHE_BUCKET") }}
SCCACHE_IDLE_TIMEOUT: ${{ env.get("SCCACHE_IDLE_TIMEOUT") }}
SCCACHE_REGION: ${{ env.get("SCCACHE_REGION") }}
SCCACHE_S3_USE_SSL: ${{ env.get("SCCACHE_S3_USE_SSL") }}
SCCACHE_S3_NO_CREDENTIALS: ${{ env.get("SCCACHE_S3_NO_CREDENTIALS") }}
SCCACHE_S3_KEY_PREFIX: libucxx-${{ env.get("RAPIDS_CONDA_ARCH") }}
requirements:
build:
- cmake ${{ cmake_version }}
Expand All @@ -201,15 +251,12 @@ outputs:
- rapids-build-backend >=0.3.0,<0.4.0.dev0
- rmm ${{ rapids_version }}
- cuda-version =${{ cuda_version }}
- make
- pynvml >=12.0.0,<13.0.0a0
run:
- python * *_cpython
- ${{ pin_compatible("cuda-version", upper_bound="x", lower_bound="x") }}
- if: cuda_major == "11"
then:
- cudatoolkit
else:
- cuda-cudart
then: cudatoolkit
- ucx >=1.15.0,<1.19.0
- ${{ pin_subpackage("libucxx", exact=True) }}
- ${{ pin_compatible("rmm", upper_bound="x.x") }}
Expand All @@ -222,9 +269,12 @@ outputs:
from_package:
- cuda-cudart-dev
- ucx
- libucxx
- python
by_name:
- cuda-version
- cuda-cudart
- if: cuda_major == "11"
then: cudatoolkit
tests:
- script:
- test -f $PREFIX/lib/libucxx_python.so
Expand Down

0 comments on commit 27e8509

Please sign in to comment.