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

Added bit-serial operators for AArch64 #17374

Open
wants to merge 1 commit into
base: v0.16.0
Choose a base branch
from

Conversation

TBucher23
Copy link

The current implementation does not support bit-serial operators for AArch64 processor architecture. I added the functions in the folder python/tvm/topi/arm_cpu and adjusted the functions bitserial_conv2d_strategy_arm_cpu and schedule_bitserial_dense_arm_cpu in the folder python/tvm/relay/op/strategy to call the appropriate functions according to the target processor.

@cbalint13 cbalint13 self-assigned this Sep 29, 2024
Copy link
Contributor

@cbalint13 cbalint13 left a comment

Choose a reason for hiding this comment

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

Hi @TBucher23 ,

Thank you for this work in order to enhance the bitserial operators !

  • Could we just reuse the existing bitserial_conv2d.py and bitserial_dense.py infra instead of the new files ?
  • Also this will need some testcases to make sure operators are still numericaly correct, and also it emmits the expected llvm intrinsics for aarch64 (a hint).

The TOPI will be phased out at some point, would be awesome to have these bitserial/bitpack operators in the metaschedule flow.

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.

2 participants