-
Notifications
You must be signed in to change notification settings - Fork 36
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
Support for 32bit architectures #110
Conversation
The numba 'parallel' target is not currently supported on 32 bit hardware. Fallback to the sequential version.
Codecov Report
@@ Coverage Diff @@
## main #110 +/- ##
==========================================
- Coverage 80.58% 75.22% -5.37%
==========================================
Files 4 4
Lines 103 113 +10
==========================================
+ Hits 83 85 +2
- Misses 20 28 +8
Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
Thanks for noting this. I generally support the idea of catching this case with a warning and falling back to serial, but I'm not sure that doing this by probing the architecture is the best way to accomplish it. If/when in the future, numba does fix this, we'd have to rewrite this check and push a new version. Would it be possible to do this by a try-except instead? Is there a specific exception that is thrown by parallel compilation on 32bit architectures? Additionally, it would be great if we could have a CI test environment for this. Github actions doesn't provide this directly, but this comment suggests that it could be emulated with a docker container. |
8f92f7f
to
4499b55
Compare
@bmcfee I have update the patch to make a dynamic detection of the numba 'parallel' support. By the way, please not that I have packaged resampy for debian and the package is now tested on several architectures: https://ci.debian.net/packages/r/resampy. |
Thanks!
I'm not sure if that will do it, but apparently you can force anaconda to use 32-bit binaries: https://stackoverflow.com/a/33711433 Numpy, scipy, and numba all have anaconda builds on linux-32, so I think this will actually work. I expect the easiest way to set this up is to duplicate the ci-minimal action to create a new one (CI-32bit), add the following to the top:
and bring the coverage bits back in from the main CI so that we get a coverage report on the exception handler.
Awesome - thanks for this! |
Unfortunately the newest numba available for 32bit linux is v0.41. Do you have any other idea to setup a 32bit environment? To me if things start to become too complex then probably it does not worth the effort. |
Thanks for trying this out! The only other idea I have for this is in the previous comment #110 (comment) , but I agree that it seems like more of a hassle than it's worth. This otherwise seems fine to me - should we merge? |
350507b
to
4499b55
Compare
do you mean using docker?
I have removed commits regarding CI. Regarding a possible implementation of CI for 32bit system (via docker or any other solution), IMHO it could be implemented in a separate PR if you are still interested. |
The numba 'parallel' target is not currently supported on 32 bit hardware.
Fallback to the sequential version.