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

How important is 32-bit testing? #2486

Open
penelopeysm opened this issue Feb 11, 2025 · 3 comments
Open

How important is 32-bit testing? #2486

penelopeysm opened this issue Feb 11, 2025 · 3 comments

Comments

@penelopeysm
Copy link
Member

penelopeysm commented Feb 11, 2025

Generally, I find we spend a disproportionate amount of developer time trying to track down issues in 32-bit CI. These are:

Given that it's 2025 and most computers are 64-bit, I'm wondering whether it's really worth our effort to keep testing on 32-bit? (Consider also that 32-bit systems are limited to 4 GB of RAM, which by today's standards is pretty small — so it seems to me that most computers one might want to run Turing on should be 64-bit — although I am keen to hear counterexamples!)

@yebai
Copy link
Member

yebai commented Feb 14, 2025

I am happy to drop 32-bit support because the effort required outweighs the benefits.

@penelopeysm
Copy link
Member Author

At today's meeting (17/2/2025) we decided that it's ok to drop 32-bit testing. The reasons are:

  1. 32-bit systems are rare. Some GPU code may require usage of 32-bit floats but that's different from the underlying system architecture from
  2. When 32-bit CI fails, we either (1) spend a lot of time trying to figure out why, or (2) ignore it. The former is a time sink, the latter implies that we don't really care about the result, in which case we shouldn't test it.
  3. The only genuine 32-bit bug we have found through CI was actually in Mooncake Missing rrules on x86 Julia for matrix distributions compintell/Mooncake.jl#289, and we consider the chance of finding a 32-bit bug which is (1) easily reproducible; (2) actually affects users; and (3) is actually caused by a bug in Turing (vs. a dependency or Julia itself) is vanishingly small.

Moving forward we'll:

  1. Explicitly specify in the docs that 32-bit support is not guaranteed.
  2. We could even consider adding a warning when Turing is loaded. (Although this does raise a question of whether we should also do this for e.g. untested Julia versions?)
  3. Drop CI testing.

@mhauru
Copy link
Member

mhauru commented Feb 18, 2025

I think it's a good idea to mention in our docs that Turing.jl is untested on 32-bit, but if someone comes to us with a bug report about 32-bit issues I don't think we necessarily have to say "this is unsupported, you are on your own". Not testing for something because it's cumbersome and probably not very helpful can be distinct from dropping all support, i.e. I view this as a right for us to ignore any 32-bit issues, but we can always be magnanimous about it if any come up.

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

No branches or pull requests

3 participants