-
Notifications
You must be signed in to change notification settings - Fork 637
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
Make native code portable and add GitHub workflow for building #949
Make native code portable and add GitHub workflow for building #949
Conversation
I would split github workflow into one commit, cmakelist into another, and platform portability changes into one more commit |
I guess the source code changes could be broken out, but there would be no way of verifying them without a working build system. Same goes for GitHub actions. Without actually being able to build for multiple arch's/OSs it would only fail. And conversely - without GH actions there is no way to verify the code working unless you happen to own all hardware. |
Hey both! Thanks for your contribution. You're right CMake might definitely make sense to move to, especially given our current effort to support cross-platform. This needs a bit more thought and input from Tim, which we should get in the coming weeks. Unfortunately, Tim's availability is very limited right now. He mentioned concerns about migrating away from Make: I'll have to find out more and will get back to you! |
Co-authored-by: Aarni Koskela <[email protected]>
Co-authored-by: Aarni Koskela <[email protected]>
Co-authored-by: Aarni Koskela <[email protected]>
Co-authored-by: Aarni Koskela <[email protected]>
Co-authored-by: Aarni Koskela <[email protected]>
Co-authored-by: Aarni Koskela <[email protected]>
Co-authored-by: Aarni Koskela <[email protected]>
Build nocublaslt versions
Amazing work @rickardp ! we'll review this asap with @Titus-von-Koeller ! |
The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update. |
@rickardp You should be able to run |
Got it! But now I wanted to confirm that saving the files in VS code made the linter happy. I created PR #1028 to make format on save use Ruff if this is the configured formatter for this project. |
A Some additional patches in |
Yes, I purposefully left that part out, as well as the unit test fixes. Those are still left in the draft PR I created (#947) if anyone wants to have a look. I think my solution to those predates the later discussions and work by other contributors so I think this is more of historical value right now. Happy to collaborate on a follow up PR once the CUDA setup refactoring has been settled. |
@Titus-von-Koeller @younesbelkada I think we should prioritize getting this merged to enable other work :) |
This PR tried to address a lot of issues, and I've drawn/referenced heavily from it for my PRs, which I've adapted. so thank you very much!!
so I've extracted some working stuff with minimal fixes to reduce possible conflicts into #1018, #1019 I suspect @rickardp had this in mind, too, he already has extracted some PRs. |
Yes, I agree. I've been trying to merge it from my phone yesterday but it's not allowing me from this device somehow. I'm on vacation until next Monday. I'll figure sth out. Thanks for the wonderful work everyone once again! |
Ok, well, seems I can merge through the mobile browser but not the app. Please resolve merge conflicts and @younesbelkada and I will merge right away. |
Hey, no worries, enjoy your vacation! 🏖️ There's no hurry here. |
This PR is now integrated with the latest
I commented this earlier. It is left in the "old reference" PR. I think it conflicts with the ongoing refactoring of cuda_setup which is why I think that needs to settle before attempting to integrate this. With this PR, macOS builds can run the CPU tests but does not use MPS.
My idea was to break out some of the stuff to make it easier to merge this one. Note that I do think the remainder of this PR still needs to be merged (either through this or through a new one) as this PR still does this
If so desired, I think the easiest way if we don't want the dead code of the .metal file in this PR, is to simply remove them from this PR. They don't do anything, but it is currently dead code until the MPS parts are added back After this has been integrated, the following work can then commence
And then the real fun begins :) |
73d3e7b
into
bitsandbytes-foundation:main
Obsoleted in bitsandbytes-foundation#949
Thanks a lot @rickardp @akx @wkpark for your hardwork and for the entire refactor ! |
False alarm, should be all good now (see the attached PR) |
This PR fixes
It does not add #847, which should be considered
See RFC #1020 for discussion