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

Add missing dependency on cuda-cupti for CUDA 12 jaxlib builds #725

Merged
merged 1 commit into from
May 22, 2024

Conversation

traversaro
Copy link
Contributor

@traversaro traversaro commented May 9, 2024

Fix for:

Checklist

  • Used a static YAML file for the patch if possible (instructions).
  • Only wrote code directly into generate_patch_json.py if absolutely necessary.
  • Ran pre-commit run -a and ensured all files pass the linting checks.
  • Ran python show_diff.py and posted the output as part of the PR.
  • Modifications won't affect packages built in the future.

@traversaro traversaro requested a review from a team as a code owner May 9, 2024 15:23
@conda-forge-webservices
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@traversaro
Copy link
Contributor Author

python show_diff.py (not sure why it contains clang-related changes):

(repodata) traversaro@IITBMP014LW012:~/conda-forge-repodata-patches-feedstock/recipe$ python3 show_diff.py
================================================================================
================================================================================
linux-armv7l
================================================================================
================================================================================
win-32
================================================================================
================================================================================
osx-arm64
osx-arm64::clang-18.1.5-default_h095aff0_0.conda
+  "constrains": [
+    "clang-tools 18.1.5.*",
+    "llvm 18.1.5.*",
+    "llvm-tools 18.1.5.*",
+    "llvmdev 18.1.5.*"
+  ],
osx-arm64::clang-tools-18.1.5-default_h7c89ad4_0.conda
-    "clangdev 18.1.5"
+    "clang 18.1.5.*",
+    "clangdev 18.1.5",
+    "llvm 18.1.5.*",
+    "llvm-tools 18.1.5.*",
+    "llvmdev 18.1.5.*"
================================================================================
================================================================================
linux-ppc64le
linux-ppc64le::clang-18.1.5-default_h60175c1_0.conda
+  "constrains": [
+    "clang-tools 18.1.5.*",
+    "llvm 18.1.5.*",
+    "llvm-tools 18.1.5.*",
+    "llvmdev 18.1.5.*"
+  ],
linux-ppc64le::clang-tools-18.1.5-default_hf6035ce_0.conda
-    "clangdev 18.1.5"
+    "clang 18.1.5.*",
+    "clangdev 18.1.5",
+    "llvm 18.1.5.*",
+    "llvm-tools 18.1.5.*",
+    "llvmdev 18.1.5.*"
================================================================================
================================================================================
linux-aarch64
linux-aarch64::clang-18.1.5-default_h33a044b_0.conda
+  "constrains": [
+    "clang-tools 18.1.5.*",
+    "llvm 18.1.5.*",
+    "llvm-tools 18.1.5.*",
+    "llvmdev 18.1.5.*"
+  ],
linux-aarch64::clang-tools-18.1.5-default_hb368394_0.conda
-    "clangdev 18.1.5"
+    "clang 18.1.5.*",
+    "clangdev 18.1.5",
+    "llvm 18.1.5.*",
+    "llvm-tools 18.1.5.*",
+    "llvmdev 18.1.5.*"
================================================================================
================================================================================
noarch
================================================================================
================================================================================
win-64
win-64::clang-18.1.5-default_hb53fc94_0.conda
+  "constrains": [
+    "clang-tools 18.1.5.*",
+    "llvm 18.1.5.*",
+    "llvm-tools 18.1.5.*",
+    "llvmdev 18.1.5.*"
+  ],
win-64::clang-tools-18.1.5-default_h3a3e6c3_0.conda
-    "clangdev 18.1.5"
+    "clang 18.1.5.*",
+    "clangdev 18.1.5",
+    "llvm 18.1.5.*",
+    "llvm-tools 18.1.5.*",
+    "llvmdev 18.1.5.*"
================================================================================
================================================================================
osx-64
osx-64::clang-18.1.5-default_h69aec76_0.conda
+  "constrains": [
+    "clang-tools 18.1.5.*",
+    "llvm 18.1.5.*",
+    "llvm-tools 18.1.5.*",
+    "llvmdev 18.1.5.*"
+  ],
osx-64::clang-tools-18.1.5-default_h69aec76_0.conda
-    "clangdev 18.1.5"
+    "clang 18.1.5.*",
+    "clangdev 18.1.5",
+    "llvm 18.1.5.*",
+    "llvm-tools 18.1.5.*",
+    "llvmdev 18.1.5.*"
================================================================================
================================================================================
linux-64
linux-64::clang-18.1.5-default_h90ac42e_0.conda
+  "constrains": [
+    "clang-tools 18.1.5.*",
+    "llvm 18.1.5.*",
+    "llvm-tools 18.1.5.*",
+    "llvmdev 18.1.5.*"
+  ],
linux-64::clang-tools-18.1.5-default_h127d8a8_0.conda
-    "clangdev 18.1.5"
+    "clang 18.1.5.*",
+    "clangdev 18.1.5",
+    "llvm 18.1.5.*",
+    "llvm-tools 18.1.5.*",
+    "llvmdev 18.1.5.*"
linux-64::jaxlib-0.4.23-cuda120py312hc008a70_201.conda
linux-64::jaxlib-0.4.23-cuda120py311hfb00743_200.conda
linux-64::jaxlib-0.4.23-cuda120py312h6027bbc_201.conda
linux-64::jaxlib-0.4.23-cuda120py310h3cc97ca_200.conda
linux-64::jaxlib-0.4.23-cuda120py312hc008a70_200.conda
linux-64::jaxlib-0.4.23-cuda120py39h443a19e_201.conda
linux-64::jaxlib-0.4.23-cuda120py310h3cc97ca_201.conda
linux-64::jaxlib-0.4.23-cuda120py311hfb00743_201.conda
linux-64::jaxlib-0.4.23-cuda120py311h5a49573_201.conda
linux-64::jaxlib-0.4.23-cuda120py39hfad2e6e_200.conda
linux-64::jaxlib-0.4.23-cuda120py310hb2a6d54_201.conda
linux-64::jaxlib-0.4.23-cuda120py39hfad2e6e_201.conda
+    "cuda-cupti >=12.0.90,<13.0a0",

@traversaro
Copy link
Contributor Author

I rebased on top of main, and now the diff is the expected one:

(repodata) traversaro@IITBMP014LW012:~/conda-forge-repodata-patches-feedstock/recipe$ python show_diff.py
================================================================================
================================================================================
linux-armv7l
================================================================================
================================================================================
win-32
================================================================================
================================================================================
osx-arm64
================================================================================
================================================================================
linux-ppc64le
================================================================================
================================================================================
linux-aarch64
================================================================================
================================================================================
noarch
================================================================================
================================================================================
win-64
================================================================================
================================================================================
osx-64
================================================================================
================================================================================
linux-64
linux-64::jaxlib-0.4.23-cuda120py312hc008a70_200.conda
linux-64::jaxlib-0.4.23-cuda120py310hb2a6d54_201.conda
linux-64::jaxlib-0.4.23-cuda120py311h5a49573_201.conda
linux-64::jaxlib-0.4.23-cuda120py311hfb00743_200.conda
linux-64::jaxlib-0.4.23-cuda120py311hfb00743_201.conda
linux-64::jaxlib-0.4.23-cuda120py39hfad2e6e_200.conda
linux-64::jaxlib-0.4.23-cuda120py312h6027bbc_201.conda
linux-64::jaxlib-0.4.23-cuda120py312hc008a70_201.conda
linux-64::jaxlib-0.4.23-cuda120py39hfad2e6e_201.conda
linux-64::jaxlib-0.4.23-cuda120py39h443a19e_201.conda
linux-64::jaxlib-0.4.23-cuda120py310h3cc97ca_201.conda
linux-64::jaxlib-0.4.23-cuda120py310h3cc97ca_200.conda
+    "cuda-cupti >=12.0.90,<13.0a0",

The PR is ready for review @conda-forge/core, thanks!

@traversaro
Copy link
Contributor Author

fyi @conda-forge/jax @conda-forge/cuda-cupti if you have any comment.

@xhochy
Copy link
Member

xhochy commented May 17, 2024

This looks good but shouldn't we also have a PR that add this dependency to the jaxlib recipe, too?

@traversaro
Copy link
Contributor Author

This looks good but shouldn't we also have a PR that add this dependency to the jaxlib recipe, too?

In theory the right way to handle would be to add a run_exports to cuda-cupti, we already did that on 12.4 but 12.0 is actually used, see conda-forge/cuda-cupti-feedstock#14 . However, if we do not get feedback on conda-forge/cuda-cupti-feedstock#14 from @conda-forge/cuda-cupti probably we can just add the dependency on jaxlib itself.

@xhochy
Copy link
Member

xhochy commented May 17, 2024

We should definitely add it immediately to jaxlib as I would like to continue fixing other things there and that would probably produce broken packages again.

@traversaro
Copy link
Contributor Author

We should definitely add it immediately to jaxlib as I would like to continue fixing other things there and that would probably produce broken packages again.

Done: conda-forge/jaxlib-feedstock#251 . Or if you are working on another PR, feel free to add it in that PR.

@xhochy xhochy merged commit 38b1038 into conda-forge:main May 22, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants