Could You Support arm architecture?
Hi @29rou, thanks for contributing the issue and the PR.
We have already looked into shipping arm64 wheels (see this issue on Ocean SDK repo: https://github.com/dwavesystems/dwave-ocean-sdk/issues/126), and we looked at using cibuildwheel.
However, at the time it seemed better to wait for CircleCI to support custom docker images on arm64 than using the emulator, and to wait for cibuildwheel to support Windows on CircleCI. We might revisit that decision over time, as significance of arm64 wheels grows.
Currently, switching to GitHub Actions for CI (partially or fully) is not an attractive option.
I understand. I'm sorry for the trouble I've caused you. By the way, is it possible to support Apple Silicon and universal2? https://github.com/pypa/cibuildwheel/blob/b552fbd016bf1394c6b7de96d5bf98dde5b17730/cibuildwheel/macos.py#L277 Also, would it be possible to support an arm binary build without using Docker? For example, https://github.com/dockcross/dockcross .
Thank you @29rou, these are great finds. We'll look into them. Unless you'd like to? Great first step would be enabling universal builds for macos, similar to how cibuildwheel does it (but consistent with our CircleCI workflow). We would love to see that PR :wink:
Thanks, cibuildwheel's behavior on MacOS is not to use Docker. Therefore, I think it is safe to use cibuildwheel directly. https://cibuildwheel.readthedocs.io/en/stable/setup/#circleci
Of course, I would also like to investigate linux/arm64 cross-compilation and suggest it to you.
Could You use this code? https://github.com/pypa/cibuildwheel/blob/9ce9574d4e6fce57daeb398479d39e3a388945e1/cibuildwheel/macos.py#L281
On Mac, It would work well. And, Dimod would be builded by Xcode for M1 Mac.
export _PYTHON_HOST_PLATFORM=macosx-11.0-arm64
export ARCHFLAGS=-arch arm64
pip wheel .
Done in https://github.com/dwavesystems/dimod/pull/1290.