Enabling Cross-platform Support #990
Replies: 10 comments 24 replies
-
Some questions
|
Beta Was this translation helpful? Give feedback.
-
Thank you for the elaborate answer. There seems to be a quite large community around the porting effort and it is good to hear that people are contributing on their day job too.
I 100% agree with this and this is what I wanted to champion in my initial PRs. IMHO, this effort need to be supported by a good test suite, so PRs can quickly I also think one of the first implementations should be a correct, portable CPU implementation to serve as a baseline/reference for contributors. This would also make a partial implementation “usable” in theory (where a gradually increasing percentage of the code would be accelerated). |
Beta Was this translation helpful? Give feedback.
-
This is relevant: https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/ |
Beta Was this translation helpful? Give feedback.
-
Hey all, I decided that all these efforts, what's still needed to implement + discuss is so wide ranging that I would like to have some more structure. I created a sort of meta RFC, linking to all the sub-topics, but it's still a bit of a work in progress. I would like your support for the following: @wkpark Could you please open a new issue with the title [RFC] Cross-Platform Refactor: Windows support? There you would summarize all the steps already there and others that are needed to get Windows support fully working and merged. We can then edit the post (you and I can both edit the issue description) to update about the status quo of what's still needed. I just want to make sure that we discuss things in a central place rather than all over the place and that we have one post/issue per topic where we summarize the status quo and todos as well as coordination. Same @rickardp for the Mac topic. That would be super helpful 🤗 |
Beta Was this translation helpful? Give feedback.
-
@wkpark @rickardp I would like to add you to the official BNB collaborator Slack. Would you be interested? I would like to keep as much as we can public, but sometimes it helps to discuss things via messaging, especially for coordination, and then post summaries for the community where applicable. If you don't want to post here, you can send them to me at my firstname at huggingface dot co. |
Beta Was this translation helpful? Give feedback.
-
@akx Since you're input has been so helpful and I see that you care about the future of the library: I'm wondering if you have any opinion on the PR for the abstraction that would allow different device backends. This is quite an important strategic design decision, that will also affect the other community contributions, e.g. AMD, Mac, Windows. Would be very interested to hear your opinion, but if it's not sth you want to look into right now, no worries. |
Beta Was this translation helpful? Give feedback.
-
Cross-platform support is a thing we're very actively working right now and I just wanted to quickly ping everyone that I saw had an interest in contributing on these topics when going through all old issues and PRs on these topics. Please see the issue that acts as a central hub of the topic for reference of the current status and the open topics that would need community input + contributions to make this happen. So sorry that a lot of you have been frustrated in the past by not having your questions + contributions attended, but this is now changing as HuggingFace has stepped up to support the BNB project as an independent FOSS project. Looking forward to working on this together! AMD integration Apple Silicon |
Beta Was this translation helpful? Give feedback.
-
I can help if you guys need help for cross-platform. |
Beta Was this translation helpful? Give feedback.
-
Hey @wkpark, I was just looking at the docs and one thing caught my eye: The requirement of Python 3.10 or newer in the Windows compilation requirements. In the workflow, 3.9 is the lowest supported version and generally the whole of BNB is 3.8 compatible. Is there any reason why 3.8 wouldn't work for Windows support and, if no, should we also include 3.8 in the build matrix? |
Beta Was this translation helpful? Give feedback.
-
I'm also interested to get this to work on HPC hardware (MIxxx series) but I am only a user so have no direct access to these machines nor the knowledge about rocm to help. Perhaps getting in touch with people at LUMI can be useful, since they have been working hard on improving the performance of AMD clusters (they are a full AMD supercluster). |
Beta Was this translation helpful? Give feedback.
-
This is a more informal discussion thread that allows us to exchange ideas around the current effort to make
bitsandbytes
cross-platform. We want this to be community-driven and make it so that the community can gradually add functionality for their given platform, while not hindering new developments + refactorings in the library.For doing this we would like to take good design decisions that the community is on board with and come up with a plan to enable cross-platform CI/CD for quick iteration.
Beta Was this translation helpful? Give feedback.
All reactions