Add Apple Silicon support (M1/M2 machines): provide universal2 wheel
See original GitHub issueFeature Request
System information
ONNX version (you are using): the latest main branch
What is the problem that this feature solves?
Currently there is no prebuilt wheel for Apple Silicon machines like M1/M2 on PyPI. Users need to build ONNX from source on their own.
Describe the alternatives you have considered
Directly provide xxx_macosx_11_0_arm64.whl instead, but currently GitHub Action has not provided Apple Silicon machines yet. (All of ONNX released wheels are using GitHub Action).
Describe the feature
To Add Apple Silicon support (M1/M2 machines): provide universal2 wheel. Universal2 wheels are fat binaries with support for both 64-bit Intel and Apple processors. Although GitHub Action currently lacks Apple Silicon machines, ONNX can provide universal wheel for now, because it is at least testable in CIs. In the future, ONNX will further provide direct support like xxx_macosx_11_0_arm64.whl
after GitHub Action has provided Apple Silicon machines. More related discussion: https://github.com/onnx/onnx/issues/4317#issuecomment-1194376761.
Will this influence the current api?
No
Feature Area
Which area in ONNX does this impact? (e.g. model usage, backend, best practices, converters, shape_inference, version_converter, training, test, operators):
cc @daquexian
Issue Analytics
- State:
- Created a year ago
- Reactions:2
- Comments:9 (6 by maintainers)
Just talked to @daquexian offline. Thank you @daquexian for picking this up! We are planning to add this support for upcoming ONNX 1.13 release (release around mid-Dec.).
Hi @daquexian, Good question. In the beginning of developing release CIs in ONNX, I was also considering to use cibuildwheel or other third-party tools. I thought ideally it’s safer that we do not rely on other tools too much (in case they don’t update someday) so I developed the release pipelines with dockers from scratch.
Still, if it is useful for adding new support and saves a lot of engineering time, then yes I think it’s good to have it. cibuildwheel looks promising and well-maintained. Feel free to apply it and simplify our current release CIs. Please let me know if you need any help. Thank you!