-
Notifications
You must be signed in to change notification settings - Fork 639
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
Distribute pip wheels for the architecture they are built for #1043
Comments
Hi @MatthiasKohl, At the moment the only supported platform for the PyPI wheels is manylinux1_x86_64. However, please see #997 and the ongoing discussion in #1032 where this is being addressed. Status overview:
|
@MatthiasKohl Can you try the wheels built here? https://github.com/TimDettmers/bitsandbytes/actions/runs/7792455224 They are built for Linux aarch64, but I don't have an Arm device that can run Cuda so I never tested them. It would be very valuable to get some feedback on how they run. I believe the source level changes were tested on a Jetson device earlier |
Linux cuda arm64 build is not arm64. it is x64_86. (Linux cpu arm64 is just fine.) |
The cuda versions are indeed built for arm64. Or are you saying that the arm64 image produces x64 output |
The wheel in the artifact I had suspected something was off on the aarch64 builds, so that's why I left that one as "unsure" status. Fixing this up is something I can try to take on. |
can you point me out the link of arm64 CUDA artifact for Linux?
|
From this run: https://github.com/TimDettmers/bitsandbytes/actions/runs/7806181468 shared_library_cuda_ubuntu-latest_aarch64_12.1.0 bdist_wheel_ubuntu-latest_aarch64_3.11 - Note that this wheel filename is x86_64 but the CUDA binaries are aarch64.
|
@matthewdouglas If I understand the build logs and the CI workflow here correctly, then for the So I think there's two solutions:
Finally, I don't see the publish job here, but I don't see the different arch wheels on PyPi yet, so is that planned for the 0.43 release? |
Yes, something has stopped working. This used to work before all the rebasing craziness.
There's no need for native runners. The performant way is to simply cross compile, which is what I used to do. The docker-based approach would also work, but is slower. The latter is needed for CUDA only (as CUDA does not allow native cross compiling).
Publish to PyPi happens when you create a GitHub release. It's there but requires setting up the secrets. Possibly only @TimDettmers can do this? |
we use cross compiler for CPU builds. in this cases cross compiler should set |
@rickardp I agree the aarch64 CPU build can be cross-compiled. Eventually a solution is needed for running the tests both for CPU and GPU.
@MatthiasKohl Everything for platforms other than Linux x86_64 is very much WIP. Eventually there's going to be release wheels, but it's still early in that process. The main branch is pretty active right now with PRs and merges. |
I would recommend setting up https://docs.pypi.org/trusted-publishers/ instead. See e.g. https://github.com/python-babel/babel/blob/40e60a1f6cf178d9f57fcc14f157ea1b2ab77361/.github/workflows/ci.yml#L83-L102 for an example. |
Hey all, thanks very much for raising this, you were totally right. Since taking over maintenance we have worked hard to get on top of the maintenance backlog. Thanks to the wonderful collab with @matthewdouglas @akx @rickardp @wkpark we've finally managed to get this right with the most recent release. Therefore, I'm closing this issue. Thanks everyone for the patience and contributions! Dear all, Since the current release (last week, 8th of March) we now have official support for Windows 🎉 (which we did not have before) via
We're closing all old Windows issues and are asking everyone to try installing with this new version as outlined above and validate the install with |
System Info
Any platform other than x86_64
Reproduction
On e.g. aarch64,
pip install bitsandbytes
.Expected behavior
pip install bitsandbytes
will succeed at first on aarch64 because the distribution on PyPi has theany
architecture.However, the distributed library is built for x86_64, and this cannot work.
It would be expected that there is a pip distribution for each architecture supported by bitsandbytes.
The text was updated successfully, but these errors were encountered: