Skip to content
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

Add nightly C++11 ABI builds #8307

Merged
merged 1 commit into from
Oct 28, 2024
Merged

Add nightly C++11 ABI builds #8307

merged 1 commit into from
Oct 28, 2024

Conversation

tengyifei
Copy link
Collaborator

Initially, PyTorch/XLA was built with C++11 ABI, which was a more modern ABI (e.g. small string optimizations). However, that conflicts with the ABI of upstream PyTorch, so #5650 disabled the C++11 ABI. It turns out that C++11 ABI improves LazyTensor tracing performance drastically for some large models. We can't go back to C++11 ABI due to conflict with upstream, so this PR adds additional nightly build variants that enable C++11 ABI next to the existing wheels and dockers.

The docker images will be tagged like "nightly_3.10_tpuvm_cxx11_20241023" instead of "nightly_3.10_tpuvm_20241023".

The wheels will be named like
"torch_xla-2.6.0.dev20241023.cxx11-cp310-cp310-linux_x86_64.whl" instead of "torch_xla-2.6.0.dev20241023-cp310-cp310-linux_x86_64.whl".

This PR also adds support for building C++11 ABI variants for stable branches, but we don't activate it yet.

Fixes #8306.

@tengyifei
Copy link
Collaborator Author

I'm not sure how to test this change. I've sent out the terraform plan preview in chat.

Copy link
Collaborator

@lsy323 lsy323 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

Initially, PyTorch/XLA was built with C++11 ABI, which was a more modern
ABI (e.g. small string optimizations). However, that conflicts with the
ABI of upstream PyTorch, so #5650
disabled the C++11 ABI. It turns out that C++11 ABI improves LazyTensor
tracing performance drastically for some large models. We can't go back
to C++11 ABI due to conflict with upstream, so this PR adds additional
nightly build variants that enable C++11 ABI next to the existing wheels
and dockers.

The docker images will be tagged like "nightly_3.10_tpuvm_cxx11_20241023"
instead of "nightly_3.10_tpuvm_20241023".

The wheels will be named like
"torch_xla-2.6.0.dev20241023.cxx11-cp310-cp310-linux_x86_64.whl" instead
of "torch_xla-2.6.0.dev20241023-cp310-cp310-linux_x86_64.whl".

This PR also adds support for building C++11 ABI variants for stable
branches, but we don't activate it yet.

This PR also removes Python 3.8 nightly builds.

Fixes #8306.
@tengyifei tengyifei merged commit e731688 into master Oct 28, 2024
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Enable CXX_ABI=1 build flag for special wheel build
3 participants