Release 0.43.0 with the new build + pkg mechanism #1094
Replies: 4 comments 9 replies
-
Ok, seems that through my merges just now I broke the Python packaging workflow, great start 😅 Gotta call it a day now though, will look into it in the next days. Noone is consuming these yet, so I don't think it's a huge issue at this very moment. Let me know if you disagree. |
Beta Was this translation helpful? Give feedback.
-
Regarding dependabot. I find it useful to keep dependency versions explicit in the code but automate their updating. This makes it easy to detect if an upstream dependency broke the build. Note that even today we get some value out of the workflow as most dependencies are used compile time and none are packaged anyway (except for the CUDA compiler and such affecting build output). I would actually advocate keeping version constraints although using a more modern approach than what is currently used. It also serves as documentation for what to use when building locally. |
Beta Was this translation helpful? Give feedback.
-
I think without #1065 there would need to be builds set up for more versions of the CUDA toolkit to combine into the wheels. I've mentioned this a little bit here: #1032 (comment) In general, the deploy.sh script used to build the wheel in the past needs to be replicated. It's currently building for a pretty large matrix: 11.0, 11.1, 11.4, 11.5, 11.7, 11.8, 12.0, 12.1, 12.2, and 12.3. On Windows we don't have to worry about breaking backwards compatibility, so no concern there. For Linux x86-64 it's not so clear for me, except that I think that it should be slimmed down. |
Beta Was this translation helpful? Give feedback.
-
After upgrading from v0.42 to v0.43, when using 4bit quantization, models may generate slightly different outputs (approximately up to the 2nd decimal place) due to a fix in the code. I just updated the CHANGELOG to reflect this. For anyone interested in the details: We removed a For compatibility reasons, when feeding data into the kernel, everything defaulted to half. However, now,
|
Beta Was this translation helpful? Give feedback.
-
Hey @rickardp @wkpark @akx @matthewdouglas @younesbelkada,
First of all, thank you for all the amazing work you've been doing in the last weeks and months. I'm still positively shocked by the amount of community contributions we're getting in BNB and all of you are at the absolute forefront of this work! I have huge gratitude and respect for the work and expertise that you contribute towards helping us furthering the democratization of ML! Together with you the tasks and goals we're facing seem much more achievable and it's super motivating to work together like this.
Given that the build infra has completely changed with the switch to CMake and the new workflows that would even enable uploading to PyPi directly, I thought it would be good to create this place of discussion in order to prepare for the upcoming release, informally chat about we think is relevant and still be transparent in our process.
It would be wonderful to get some more input on what you think still needs doing for a full release with the new mechanisms and what PRs we should aim to still to merge until then.
My idea would be to aim toward releasing to test PyPi by the end of the week and if everything goes according to plan aim for a normal release sometime next week.
Below I added some notes on what I'm currently aware of and would be happy to hear your comments on in case you have something to add or a differing opinion:
merged:
to look into + merge to get ready for release process testing:
Define CUDA versions for workflows centrally #1052
any objections to this PR or what would be better? I would like to avoid senseless compute usage wherever easily possible, as a waste and bad for the environment:
I'm completely unsure what to do about this one, as there's some overlap with other PRs:
Dependabot: Does it make sense to keep this activated as long as we don't have a test suite to automatically validate against? How does this fit together with #1078, where version constraints are completely out of the picture (I guess they could be handled in pyproject.toml / I wonder what would be best practice in such cases)?
It would be nice to get the setup improvements merged: Do you agree that this is something I should prioritize?
I would propose to hold off with the formatting PR #1081 until after the release (please feel free to comment if you think it's better to go ahead with it right way). I am afraid to create a lot of extra work in all the open PRs and we should focus on merging as much as we can before going for a final round of testing the release process and bitsandbytes itself.
Beta Was this translation helpful? Give feedback.
All reactions