-
Notifications
You must be signed in to change notification settings - Fork 16
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
Make array-record build on aarch64 #72
Conversation
I think this collides with changes we did yesterday to release a new wheel. See bf51831. This should address the problems in python/BUILD and python/array_record_data_source.py. I will make a separate change to upgrade highwayhash. This leaves some changes in the oss/build_whl.sh. b) BAZEL_FLAGS="--crosstool_top=" c) manylinux2014_x86_64 => linux_aarch64 |
Thanks for the update!
These are going together, bagel flag is I'm building on an Arm64 machine within a docker container, and I am just fine using the toolchain available locally in the container. One easy way out would be to check if BAZEL_FLAGS is set in the environment by the user and not setting the crosstool you're using if this is the case. I could invoke the build script with
To be honest, I don't know :) In my case, I don't need to publish a wheels that is portable, I just want If it helps: I have no problem building and installing jaxlib (and Jax), it works the exact same way on X86 and Arm64 machines. Could this be an example to follow? |
a/b) is to synchronize with the build config for TF (apparently TF 2.9 though). We would need to sync up with AWS (who are maintaining official TF arm releases) to figure out their build configuration and docker image for ARM. It might be c) Again, we would need to sync up with ARM/AWS, but it looks like they are using I think we can work around the local build failure issues by having variables for the crosstool and auditwheel platform (and skip those steps if not set). |
Related to #72 - allows building the pip package locally on ARM (or any other platform). - Added environment variables for the crosstool toolchain (`CROSSTOOL_TOP`) and the auditwheel platform (`AUDITWHEEL_PLATFORM`). - Created a Docker file for ARM builds. - Modified build scripts to allow building either locally (`build_whl.sh`), or with the docker container (`docker_runner.sh`). - Updated TensorFlow dependency to 2.12.1. ARM builds are only released starting at TF 2.12. Closes #72. PiperOrigin-RevId: 559191606
Related to #72 - allows building the pip package locally on ARM (or any other platform). - Added environment variables for the crosstool toolchain (`CROSSTOOL_TOP`) and the auditwheel platform (`AUDITWHEEL_PLATFORM`). - Created a Docker file for ARM builds. - Modified build scripts to allow building either locally (`build_whl.sh`), or with the docker container (`docker_runner.sh`). - Updated TensorFlow dependency to 2.12.1. ARM builds are only released starting at TF 2.12. Closes #72. PiperOrigin-RevId: 559191606
Related to #72 - allows building the pip package locally on ARM (or any other platform). - Added environment variables for the crosstool toolchain (`CROSSTOOL_TOP`) and the auditwheel platform (`AUDITWHEEL_PLATFORM`). - Created a Docker file for ARM builds. - Modified build scripts to allow building either locally (`build_whl.sh`), or with the docker container (`docker_runner.sh`). - Updated TensorFlow dependency to 2.12.1. ARM builds are only released starting at TF 2.12. Closes #72. PiperOrigin-RevId: 559191606
Related to #72 - allows building the pip package locally on ARM (or any other platform). - Added environment variables for the crosstool toolchain (`CROSSTOOL_TOP`) and the auditwheel platform (`AUDITWHEEL_PLATFORM`). - Created a Docker file for ARM builds. - Modified build scripts to allow building either locally (`build_whl.sh`), or with the docker container (`docker_runner.sh`). - Updated TensorFlow dependency to 2.12.1. ARM builds are only released starting at TF 2.12. Closes #72. PiperOrigin-RevId: 559191606
In the absence of an Aarch64 wheel (see #71), this helps building from source
upgrade highwayhash: the previous revision was 4y ago, there has been quite a few fixes since then.
python/BUILD does not seem properly handle by copybara, it refers multiple paths inside google3 apparently.
python/array_record_data_source.py does not include array_record but is using it. Maybe some other copybara problem?
One more problem left somehow is that running
bazel test
isn't hermetic: the python test will prefer to import array_record from the environment installation (system or pip) instead of the local repo.