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

cusparselt v0.7.0.0 #52

Merged
merged 3 commits into from
Jan 29, 2025

Conversation

regro-cf-autotick-bot
Copy link
Contributor

@regro-cf-autotick-bot regro-cf-autotick-bot commented Jan 28, 2025

It is very likely that the current package version for this feedstock is out of date.

Checklist before merging this PR:

  • Dependencies have been updated if changed: see upstream
  • Tests have passed
  • Updated license if changed and license_file is packaged

Information about this PR:

  1. Feel free to push to the bot's branch to update this PR if needed.
  2. The bot will almost always only open one PR per version.
  3. The bot will stop issuing PRs if more than 3 version bump PRs generated by the bot are open. If you don't want to package a particular version please close the PR.
  4. If you want these PRs to be merged automatically, make an issue with @conda-forge-admin,please add bot automerge in the title and merge the resulting PR. This command will add our bot automerge feature to your feedstock.
  5. If this PR was opened in error or needs to be updated please add the bot-rerun label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase @conda-forge-admin, please rerun bot in a PR comment to have the conda-forge-admin add it for you.

Pending Dependency Version Updates

Here is a list of all the pending dependency version updates for this repo. Please double check all dependencies before merging.

Name Upstream Version Current Version
git 2.48.1 Anaconda-Server Badge

This PR was created by the regro-cf-autotick-bot. The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. Feel free to drop us a line if there are any issues! This PR was generated by https://github.com/regro/cf-scripts/actions/runs/13002897705 - please use this URL for debugging.

@conda-forge-admin
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/meta.yaml) and found it was in an excellent condition.

@jakirkham
Copy link
Member

The Linux x86_64 build fails as we now need GLIBC 2.28. From CI:

++ nvcc --std=c++14 -I/home/conda/feedstock_root/build_artifacts/cusparselt_1738034615235/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include -I/home/conda/feedstock_root/build_artifacts/cusparselt_1738034615235/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/include -L/home/conda/feedstock_root/build_artifacts/cusparselt_1738034615235/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib -L/home/conda/feedstock_root/build_artifacts/cusparselt_1738034615235/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/stubs -lcusparse -lcusparseLt -lcuda -lnvrtc matmul_example.cpp -o matmul_example
+ error_log='/home/conda/feedstock_root/build_artifacts/cusparselt_1738034615235/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/bin/../lib/gcc/x86_64-conda-linux-gnu/13.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/conda/feedstock_root/build_artifacts/cusparselt_1738034615235/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/libcusparseLt.so: undefined reference to `log2f@GLIBC_2.27'\''

recipe/meta.yaml Outdated
@@ -40,8 +40,7 @@ requirements:
- patchelf !=0.18 # [linux]
run:
run_constrained:
# Only GLIBC_2.17 or older symbols present
- __glibc >=2.17 # [linux]
- __glibc >=2.27 # [linux]
Copy link
Member

Choose a reason for hiding this comment

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

Now that we have a testing script and better ways to configure GLIBC, let's make use of them

Would it be possible to adapt the logic from PR ( conda-forge/libcublas-feedstock#34 ) and apply it here?

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes, sure. I actually went to check how this is done in cublas feedstock, shortly before this PR got merged =)

Copy link
Contributor

Choose a reason for hiding this comment

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

But if the library needs glibc 2.27, shouldn't we have it listed as a requirement somewhere, in addition to ensuring we have 2.27 while testing? In other words, while I can change the .ci_support, shouldn't I also keep run_constrained clause?

Copy link
Member

Choose a reason for hiding this comment

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

Yeah that's what we did in the CUDA 12.8 PR: conda-forge/libcublas-feedstock#33 (review)

Basically that adds the GLIBC constraints in conda_build_config.yaml. Re-rendering the recipe takes care of adding those values everywhere else (like .ci_support)

Copy link
Contributor

Choose a reason for hiding this comment

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

Could you have a look? I thought changes in fa9b3e0 should have taken care of glibc issue but linux + x86 build still fails.
In the CI log I also see a line

INFO (cusparselt,lib/libcusparseLt.so.0.7.0.0): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libc.so.6 found in CDT/compiler package conda-forge/noarch::sysroot_linux-64==2.17=h0157908_18

so it seems the default sysroot_linux-x86 package is pulled in which brings an out-dated glibc in the env?

Copy link
Member

Choose a reason for hiding this comment

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

Yeah the suggestions below should help with this. Please let me know how things go after you try them out

Copy link
Member

Choose a reason for hiding this comment

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

Filed as issue: #53

@kvoronin
Copy link
Contributor

@conda-forge-admin please rerender

Copy link
Member

@jakirkham jakirkham left a comment

Choose a reason for hiding this comment

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

Thanks Kirill! 🙏

Had a few suggestions and questions below

@@ -31,17 +31,13 @@ build:

requirements:
build:
- arm-variant * {{ arm_variant_type }} # [aarch64]
- {{ compiler('c') }}
- {{ stdlib("c") }}
- {{ compiler('cxx') }}
- {{ compiler('cuda') }}
Copy link
Member

Choose a reason for hiding this comment

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

Do we want to add cf-nvidia-tools to do the additional checks now? Or do we want to leave this for later?

Suggested change
- {{ compiler('cuda') }}
- {{ compiler('cuda') }}
- cf-nvidia-tools # [linux]

If we do this now, we would want to add something like this to build.sh

# Run GLIBC check
check-glibc bin/* lib/*.so.* lib64/*.so.*

This can be updated with whatever paths are appropriate to check for this library

Copy link
Contributor

Choose a reason for hiding this comment

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

As this repo doesn't have build.sh and requires re-structuring (for build and test + making multiple outputs with a runtime and dev packages), I want to implement this change separately. Today I want to merge this update to get the 0.7.0 out of the door and update the feedstock later in a more time-relaxed way.

Copy link
Member

Choose a reason for hiding this comment

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

Ah ok. Yeah this could go in the script section above

Yep that is ok

Copy link
Member

@jakirkham jakirkham left a comment

Choose a reason for hiding this comment

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

Thanks Kirill! 🙏

@kvoronin
Copy link
Contributor

Thanks for help!

@kvoronin kvoronin merged commit a8ce21e into conda-forge:main Jan 29, 2025
6 checks passed
@regro-cf-autotick-bot regro-cf-autotick-bot deleted the 0.7.0.0_h1aa377 branch January 29, 2025 01:28
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.

4 participants