-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
Arm64 support as documented here: … #5360
Conversation
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed (or fixed any issues), please reply here (e.g. What to do if you already signed the CLAIndividual signers
Corporate signers
|
I signed it |
CLAs look good, thanks! |
What's the motivation of this PR? Is there a corresponding GitHub issue? |
My main workstation is a Samsung Chromebook Plus running Debian Stretch, which is arm64 architecture. The patch is allow me to build my project locally using Bazel. |
@ulfjack: ping |
I have been testing Bazel on aarch64 systems with these changes. |
tools/platforms/platforms.BUILD
Outdated
@@ -4,6 +4,18 @@ package( | |||
default_visibility = ["//visibility:public"], | |||
) | |||
|
|||
filegroup( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this needed for?
Sorry, that was my error, those lines should not have been there. |
tools/platforms/BUILD
Outdated
@@ -107,6 +112,7 @@ platform( | |||
":x86_64", | |||
":ppc", | |||
":arm", | |||
":aarch64", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
indentation is slightly wrong
tools/platforms/BUILD
Outdated
@@ -128,6 +134,7 @@ platform( | |||
":x86_64", | |||
":ppc", | |||
":arm", | |||
":aarch64", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
indentation is slightly wrong
tools/platforms/platforms.BUILD
Outdated
@@ -95,6 +100,7 @@ platform( | |||
":x86_64", | |||
":ppc", | |||
":arm", | |||
":aarch64", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
indentation is slightly wrong
tools/platforms/platforms.BUILD
Outdated
@@ -116,6 +122,7 @@ platform( | |||
":x86_64", | |||
":ppc", | |||
":arm", | |||
":aarch64", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
indentation is slightly wrong
Indentation fixed thankyou :) |
Fixes bazelbuild#5272 Change-Id: Ia49c084f1fe036ff0e5b18fea096f31642cf8b5b Closes bazelbuild#5280. Change-Id: Ia49c084f1fe036ff0e5b18fea096f31642cf8b5b PiperOrigin-RevId: 200005785
- use an internal event wrapper to unify handling - rewrite the test to be more explicit about event names and ordering This a part split out of unknown commit. PiperOrigin-RevId: 200015904
Instead, add some simple APIs to ExecutorBuilder and inline all the previous subclasses into their corresponding modules. This removes a bunch of boilerplate. PiperOrigin-RevId: 200017162
This adds a flag to the installer to skip uncompressing the base image during installation. Uncompressing the base image during installation can be problematic: 1. If you configure the startup option `output_user_root` you'll wind up extracting the image twice. Once during installation and a second time during the first bazel invocation in your project. 2. If you're bootstrapping Bazel in a controlled environment (in my case via Nix) then you can get permission errors if Bazel defaults to extracting to the home directory. There's no way to skip this extraction and for the time being I have resorted to seting `HOME` to a throw away directory during install. Closes bazelbuild#5303. PiperOrigin-RevId: 201004235
This functionality will be useful for node restarting. More than one parent node may request the restart of a shared child node, and this should not fail. Instead, the returned MarkedDirtyResult indicates whether the dirtying was redundant, and the calling code can assert on that. RELNOTES: None. PiperOrigin-RevId: 201005663
Closes bazelbuild#5403. PiperOrigin-RevId: 201007405
Change-Id: I3655868d34dd98f5cde084a61995dfae8e4b94c0 Closes bazelbuild#5374. Change-Id: I3655868d34dd98f5cde084a61995dfae8e4b94c0 PiperOrigin-RevId: 201032126
…ache. ConfiguredRuleClassProvider can specify a predicate which accepts an OptionsDiff and the new BuildOptions in order to make a decision on whether the given diff requires the analysis cache to be dropped. This predicate is only called if all of the following hold: * there was an old configuration collection (if not, the cache is not dropped because there wasn't one yet) * the old configuration collection is not exactly equal to the new configuration collection (if it is, the cache is not dropped because it definitely hasn't changed) * the old configuration collection has the same number of configurations as the new collection (if not, the cache is always dropped because experimental_multi_cpu has changed, definitely not a flag which should cause old analysis cache to stick around!) If all of these hold, the old target configurations are paired up with the new target configurations by index in the configuration collection, and each pair is diffed. The predicate is called with each diff and the corresponding new configuration's build options. If any of these invocations returns true, the cache is dropped. Otherwise, the cache is kept for the next build. No implementation of this predicate is actually supplied for this change, so the old behavior (always drop the cache if the configuration changes at all) holds. RELNOTES: None. PiperOrigin-RevId: 201050049
*** Reason for rollback *** See linked bug. *** Original change description *** C++: Refactors PyWrapCc to make it easier to migrate to Skylark Rolling forward bazelbuild@6c87715. When I first tried to roll forward this CL I missed one place where PyCcLinkParamsProvider.TO_LINK_PARAMS should have been called. The target //production/midas/config:client_config_pb builds fine now. RELNOTES:none PiperOrigin-RevId: 201070354
The memory savings from this flag are not worth the complexity, and it interferes with action restarting. RELNOTES: Remove support for --discard_actions_after_execution. PiperOrigin-RevId: 201077905
…xception. We can construct the exception message eagerly, since it is going to be thrown with very high likelihood in any case. The complex objects inside it made it hard to serialize. PiperOrigin-RevId: 201130522
…ation as this isn't supported by `((... == 0))` below. See bazelbuild#5413 PiperOrigin-RevId: 201135798
PiperOrigin-RevId: 201144030
…ionConfig that are needed for FeatureConfiguration creation In the future CcToolchainFeatures will not be created from a CToolchain but from a CrosstoolInfo provider that will encapsule all relevant information from the CROSSTOOL. Feature and ActionConfig classes need to carry all the information that is currently obtained from CToolchain. Work towards issue bazelbuild#5380 RELNOTES: None. PiperOrigin-RevId: 201147336
Rolls forward bazelbuild@c720152. This CL includes testing to make sure that linker parameters coming from every possible provider in Python rules is propagated. RELNOTES:none PiperOrigin-RevId: 201160720
For paths passed to Bazel on the command line, the shell expands these variables, but for hardcoded defaults, we must make the library call ourselves. We do not add similar support in Posix systems, where it is less common to rely on standard path-related variables. Prerequisit for issue bazelbuild#4502. RELNOTES: None. PiperOrigin-RevId: 201183214
…'t expect equality, not because there's no implementation. PiperOrigin-RevId: 201191262
… tag lambdas as Serializable. PiperOrigin-RevId: 201191461
…t be checked for restricted_to and compatible_with constraints, because they are part of the execution, not providing new dependencies. PiperOrigin-RevId: 201196891
…mbdas. Get rid of a useless tag, because the Function being tagged is a concrete class, so won't be serializable. Will deal with it in a follow-up. Implement equality for BazelInfo. PiperOrigin-RevId: 201199255
PiperOrigin-RevId: 201203706
PiperOrigin-RevId: 201205388
…ion, and have DynamicCodec add to it. It's very useful to have this trail available when debugging or whitelisting. PiperOrigin-RevId: 201205884
Turns out the event handler (BlazeCommandEventHandler) prints almost all event types, and I don't believe there's a way to tune it. We certainly don't want these messages printed to the console unless we're debugging the debugger, so turn them off by default. PiperOrigin-RevId: 201211355
… by default. PiperOrigin-RevId: 201218341
…ER_TARGET but the "exec_compatible_with" attribute is present. PiperOrigin-RevId: 201219412
When set, any action parameter files are written locally upon action execution, even when the action is executed remotely. This is mainly useful for debugging. This option is effectively implied by --subcommands and --verbose_failures, as it is likely that the user is debugging actions when using these flags. RELNOTES: Add --materialize_param_files flag to write parameter files even when actions are executed remotely. PiperOrigin-RevId: 201225566
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google. |
Based on work of Sun Zhiyi <[email protected]>. Closes bazelbuild#5360. PiperOrigin-RevId: 201339882
http://zhiyisun.github.io/2017/02/15/Running-Google-Machine-Learning-Library-Tensorflow-On-ARM-64-bit-Platform.html
These instructions are a little out of date so I have re-biased the patch.
Not included in this patch are changes to the iOS and Android rulebases.