Creating this issue for discussion as we're working on some PRs.
The existing standalone python binary is built optimized for the Power 9 family of processors, since it uses the gcc defaults inherited in the cross-compile base image (gcc6). We're looking at how to provide options for Power10 , Power11 and future users. Just switching the -mtune parameter and rebuilding isn't ideal since 1) it wouldn't be backwards compatible, and 2) power10 & power11 values were added in GCC 10+ and GCC 13+ respectively.
I'm thinking the simplest thing to do create processor binaries as is done for x86, e.g.
- ppc64le-unknown-linux-gnu
- ppc64le_power9-unknown-linux-gnu
- ppc64le_power10-unknown-linux-gnu
- ppc64le_power11-unknown-linux-gnu
Next we would have to also submit a PR to https://github.com/astral-sh/uv so that it checks the host version at install time and chooses the right processor-specific version.
Does this sound reasonable? Some of the team are working on changes to that affect but thought we should float it here first.
Also this may affect how bazel and other toolchains pull in the power python binary. It's been a while since I personally worked in that space so may no longer be a concern.
Creating this issue for discussion as we're working on some PRs.
The existing standalone python binary is built optimized for the Power 9 family of processors, since it uses the gcc defaults inherited in the cross-compile base image (gcc6). We're looking at how to provide options for Power10 , Power11 and future users. Just switching the
-mtuneparameter and rebuilding isn't ideal since 1) it wouldn't be backwards compatible, and 2) power10 & power11 values were added in GCC 10+ and GCC 13+ respectively.I'm thinking the simplest thing to do create processor binaries as is done for x86, e.g.
Next we would have to also submit a PR to https://github.com/astral-sh/uv so that it checks the host version at install time and chooses the right processor-specific version.
Does this sound reasonable? Some of the team are working on changes to that affect but thought we should float it here first.
Also this may affect how bazel and other toolchains pull in the power python binary. It's been a while since I personally worked in that space so may no longer be a concern.