Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update fmt (to 11.0.2) and spdlog (to 1.14.1), add those libraries to libcuml conda host dependencies #6071

Merged
merged 19 commits into from
Sep 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions conda/environments/all_cuda-118_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ dependencies:
- dask-cudf==24.10.*,>=0.0.0a0
- dask-ml
- doxygen=1.9.1
- fmt>=11.0.2,<12
- gcc_linux-64=11.*
- graphviz
- hdbscan>=0.8.38,<0.8.39
Expand Down Expand Up @@ -69,6 +70,7 @@ dependencies:
- scipy>=1.8.0
- seaborn
- setuptools
- spdlog>=1.14.1,<1.15
- sphinx-copybutton
- sphinx-markdown-tables
- sphinx<6
Expand Down
2 changes: 2 additions & 0 deletions conda/environments/all_cuda-125_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ dependencies:
- dask-cudf==24.10.*,>=0.0.0a0
- dask-ml
- doxygen=1.9.1
- fmt>=11.0.2,<12
- gcc_linux-64=11.*
- graphviz
- hdbscan>=0.8.38,<0.8.39
Expand Down Expand Up @@ -65,6 +66,7 @@ dependencies:
- scipy>=1.8.0
- seaborn
- setuptools
- spdlog>=1.14.1,<1.15
- sphinx-copybutton
- sphinx-markdown-tables
- sphinx<6
Expand Down
2 changes: 2 additions & 0 deletions conda/environments/clang_tidy_cuda-118_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ dependencies:
- cuda-version=11.8
- cudatoolkit
- cxx-compiler
- fmt>=11.0.2,<12
- gcc_linux-64=11.*
- libcublas-dev=11.11.3.6
- libcublas=11.11.3.6
Expand All @@ -31,6 +32,7 @@ dependencies:
- librmm==24.10.*,>=0.0.0a0
- ninja
- nvcc_linux-64=11.8
- spdlog>=1.14.1,<1.15
- sysroot_linux-64==2.17
- tomli
name: clang_tidy_cuda-118_arch-x86_64
2 changes: 2 additions & 0 deletions conda/environments/cpp_all_cuda-118_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dependencies:
- cuda-version=11.8
- cudatoolkit
- cxx-compiler
- fmt>=11.0.2,<12
- gcc_linux-64=11.*
- libcublas-dev=11.11.3.6
- libcublas=11.11.3.6
Expand All @@ -29,5 +30,6 @@ dependencies:
- librmm==24.10.*,>=0.0.0a0
- ninja
- nvcc_linux-64=11.8
- spdlog>=1.14.1,<1.15
- sysroot_linux-64==2.17
name: cpp_all_cuda-118_arch-x86_64
2 changes: 2 additions & 0 deletions conda/environments/cpp_all_cuda-125_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ dependencies:
- cuda-profiler-api
- cuda-version=12.5
- cxx-compiler
- fmt>=11.0.2,<12
- gcc_linux-64=11.*
- libcublas-dev
- libcufft-dev
Expand All @@ -25,5 +26,6 @@ dependencies:
- libraft==24.10.*,>=0.0.0a0
- librmm==24.10.*,>=0.0.0a0
- ninja
- spdlog>=1.14.1,<1.15
- sysroot_linux-64==2.17
name: cpp_all_cuda-125_arch-x86_64
6 changes: 6 additions & 0 deletions conda/recipes/libcuml/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@ c_stdlib_version:
cmake_version:
- ">=3.26.4,!=3.30.0"

fmt_version:
- ">=11.0.2,<12"

spdlog_version:
- ">=1.14.1,<1.15"

treelite_version:
- "=4.3.0"

Expand Down
2 changes: 2 additions & 0 deletions conda/recipes/libcuml/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,12 @@ requirements:
- libcusolver-dev
- libcusparse-dev
{% endif %}
- fmt {{ fmt_version }}
- libcumlprims ={{ minor_version }}
- libraft ={{ minor_version }}
- libraft-headers ={{ minor_version }}
- librmm ={{ minor_version }}
- spdlog {{ spdlog_version }}
Comment on lines +71 to +76
Copy link
Contributor

Choose a reason for hiding this comment

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

These are in the global list for the split recipe but also need to be in the libcuml package below in order to have run-exports on the appropriate packages. That would eliminate the need for test-time pinnings. I'm not sure which direction we want to go: do we add run-exported dependencies on these to "runtime" packages (these aren't "dev" packages) to enforce consistency, or use test-time pinnings to only ensure that we get compatible builds of librmm, etc. which are exporting these dependencies (and with which we need to avoid conflicts)?

Copy link
Member Author

Choose a reason for hiding this comment

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

Ah ok! I'm not that familiar with the ways that split recipes are different from single-package ones, thank you for pointing this out.

I'm not sure precisely what you mean about those two choices... but I can say at least that I think cuml / libcuml should explicitly pin fmt and spdlog, given that it directly uses them: #6071 (comment) (instead of getting that pinning transitively from librmm or similar).

Copy link
Member Author

Choose a reason for hiding this comment

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

We talked offline and decided to add these pinnings in the top-level host environment and the build environment created from the common_build: list in dependencies.yaml, but to not mess with run exports or adding explicit run dependencies on fmt / spdlog.

- treelite {{ treelite_version }}

outputs:
Expand Down
2 changes: 2 additions & 0 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -140,10 +140,12 @@ dependencies:
packages:
- c-compiler
- cxx-compiler
- fmt>=11.0.2,<12
- libcumlprims==24.10.*,>=0.0.0a0
- libraft==24.10.*,>=0.0.0a0
- libraft-headers==24.10.*,>=0.0.0a0
- librmm==24.10.*,>=0.0.0a0
- spdlog>=1.14.1,<1.15
specific:
- output_types: conda
matrices:
Expand Down
Loading