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

[Tracking Issue] Refactor AOT executor codegen into IRModule -> IRModule form #12548

Closed
3 of 7 tasks
mbaret opened this issue Aug 22, 2022 · 3 comments
Closed
3 of 7 tasks
Assignees
Labels
backend:c executor:aot runtime components of AOT flow. src/runtime/aot_executor, src/runtime/crt/aot_executor

Comments

@mbaret
Copy link
Contributor

mbaret commented Aug 22, 2022

The AOT executor codegen has accumulated significant technical debt and dead code during its development, resulting in a component that is difficult to understand, test and extend. Refactoring it will improve code-quality and make it easier to introduce new features to expand the capabilities of AOT code generation.

This refactor aims to observe the following principles:

  • Break the logic into passes with a single responsibility.
  • Introduce tests for the internal logic of AOT (not just end-to-end integration testing).
  • Remove side-channels and reduce the usage of 'magic attributes' to pass information.
  • De-duplicate logic where possible.

PRs

@mbaret mbaret added the type:rfc-tracking RFC progress tracking. Ref: https://github.com/apache/tvm-rfcs label Aug 22, 2022
@mbaret mbaret self-assigned this Aug 22, 2022
@areusch areusch removed the type:rfc-tracking RFC progress tracking. Ref: https://github.com/apache/tvm-rfcs label Aug 22, 2022
@areusch areusch added the needs-triage PRs or issues that need to be investigated by maintainers to find the right assignees to address it label Oct 19, 2022
@janetsc janetsc added backend:c executor:aot runtime components of AOT flow. src/runtime/aot_executor, src/runtime/crt/aot_executor and removed needs-triage PRs or issues that need to be investigated by maintainers to find the right assignees to address it labels Oct 19, 2022
@ekalda
Copy link
Contributor

ekalda commented Mar 22, 2023

@areusch @mbaret is there a plan to continue this work? It looks like it's stuck in an awkward place where there is some duplicated code and a set of functions that are not used outside of the tests :)

@mbaret
Copy link
Contributor Author

mbaret commented Mar 22, 2023

It's not my intention to continue with this refactor, I've instead been working on a Relax version of AOT. To avoid duplication, I could migrate the necessary passes to the unity branch and delete them from main. Let me know if this is the preferred course of action or whether there's any community interest in picking this refactor up.

@ekalda
Copy link
Contributor

ekalda commented Mar 23, 2023

Yes, I don't think the efforts to prototype Relax should justify bringing technical dept into TVM, so it would be better to remove the duplicated code. I don't think it is blocking anybody though, so it's not urgent.

@tqchen tqchen closed this as completed Sep 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend:c executor:aot runtime components of AOT flow. src/runtime/aot_executor, src/runtime/crt/aot_executor
Projects
None yet
Development

No branches or pull requests

5 participants