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

Enable bitpacked activation optimisations by default. #597

Merged
merged 6 commits into from
Jan 5, 2022

Conversation

AdamHillier
Copy link
Contributor

@AdamHillier AdamHillier commented Feb 1, 2021

What do these changes do?

This PR moves the bitpacked-activations converter rewrite pattern from C++ to TableGen, and enables it by default.

How Has This Been Tested?

CI.

Benchmark Results

N/A.

Related issue number

N/A.

@AdamHillier
Copy link
Contributor Author

For the question of enabling it by default - this will work fine on Aarch64 since we support bitpacked output in the optimised kernels. On Aarch32 however I don't think it's currently supported. Do we think that is an issue @lgeiger @Tombana?

@AdamHillier AdamHillier force-pushed the make-bitpacked-activations-default branch from dc8b9b2 to f1cc36e Compare February 1, 2021 15:10
Move the bitpacked-activation rewrite pattern in the converter from
C++ to TableGen.
@lgeiger
Copy link
Member

lgeiger commented May 20, 2021

For the question of enabling it by default - this will work fine on Aarch64 since we support bitpacked output in the optimised kernels. On Aarch32 however I don't think it's currently supported. Do we think that is an issue?

For Aarch32 would this correctly fallback to the reference implementation? If this is the case I actually would be slightly in favour of enabling bitpacked activations by default and open an issue to add support for bitpacked activations to the Aarch32 optimized kernels. @AdamHillier @Tombana what do you think?

@AdamHillier
Copy link
Contributor Author

For Aarch32 would this correctly fallback to the reference implementation? If this is the case I actually would be slightly in favour of enabling bitpacked activations by default and open an issue to add support for bitpacked activations to the Aarch32 optimized kernels. @AdamHillier @Tombana what do you think?

I'm fairly sure it will fall back to reference kernels but will check. If so, I agree that we should do that. I also think that adding Aarch32 support for optimised bitpacked output shouldn't be too hard.

@lgeiger lgeiger self-requested a review May 20, 2021 10:30
@lgeiger lgeiger added the breaking-change Changes that will break user code label May 20, 2021
@CNugteren
Copy link
Contributor

I have merged in the latest changes and updated this branch accordingly. @lgeiger perhaps you could take another look at the code and make a final decision on whether we can merge this in. Thanks!

Copy link
Member

@lgeiger lgeiger left a comment

Choose a reason for hiding this comment

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

This looks great, from my side! Thanks for updating the PR @CNugteren

@CNugteren CNugteren merged commit 06ef2d5 into main Jan 5, 2022
@CNugteren CNugteren deleted the make-bitpacked-activations-default branch January 5, 2022 12:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking-change Changes that will break user code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants