-
-
Notifications
You must be signed in to change notification settings - Fork 29
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
Package pillow-simd? #103
Comments
Is pillow-simd at PyPI? I could not find it. (Not important here, just curious.) I think that the approach here should be a different feedstock with a |
Different feedstock sounds like a good idea. Both of them could have a metapackage that provides, e.g. |
Would we need repopatches for the old pillow releases? Or just add a version constraint? 9.0.0 was recently released, so that'd be a decent opportunity. Do I understand you correctly that this would roughly be the structure?
|
Sidenote: pillow apparently has an 18 month cadence between major releases. The source code already contains the release date for Pillow 10. |
there's no need for a new meta package. |
OK cool; though that still means at least a modification of the build string, correct? |
Actually, on second thought, I'm not sure it's a great idea to use |
No. |
Pillow releases quarterly (Jan, Apr, Jul, Oct), and we're doing major releases to coincide with dropping Python versions. So the next major will coincide with dropping 3.7 in July 2023, and after that Python's annual release cadence will have filtered through to EOLs: 3.8 in October 2024, 3.9 in October 2025, 3.10 in October 2026... |
Is there is any functionality in torchvision that depends on pillow-simd? If not, I would be worried about pinning pillow-simd at the torchvision package level. |
OK, got it. I'll try to open a PR for a new feedstock
No, it just prefers pillow-simd if it's available (presumably for speed). Thanks for the context about the release cadence @hugovk! |
Hey @conda-forge/pillow
I'm co-maintaining the torchvision feedstock, and recently noticed that they are actually depending** on
pillow-simd
, a SIMD-optimized fork of pillow. Here is a performance comparison that - AFAICT - is even hosted on the main pillow website, where SSE4 already achieves substantial speedups, and AVX2 even more so, on the order of a factor of 5x.Given that the sources are very very similar, I'd be wary of having this in a separate feedstock (requiring a mutex etc.), and also pillow-simd formulates their policy:
The downside of building both outputs in this feedstock would be that new pillow releases would have to also wait on the corresponding pillow-simd release.
Any thoughts?
CC @conda-forge/torchvision @conda-forge/core
** conditional on availability, with fallback to pillow
The text was updated successfully, but these errors were encountered: