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

[MetaSchedule] Fix Cyclic Dependency in PyClass Family #10368

Conversation

zxybazh
Copy link
Member

@zxybazh zxybazh commented Feb 24, 2022

Following the design of module_pass, we developed a mechanism, a decorator named derived_obj, to systematically allow derivation from TVM objects in pure Python and being passed into any language, without cyclic dependency. This PR introduces the new mechanism to all PyClasses in meta schedule.

Class Migration Progress:

  • TaskScheduler (allows hybrid mode)
  • SpaceGenerator
  • SearchStrategy
  • Builder
  • Runner
  • RunnerFuture
  • Database
  • CostModel
  • Mutator
  • Postproc
  • ScheduleRule
  • FeatureExtractor
  • MeasureCallback

@junrushao
Copy link
Member

CC @YuchenJin @sunggg would love to have you guys review this PR :-) Thanks a lot!

@zxybazh zxybazh changed the title [WIP][MetaSchedule] Fix Cyclic Dependency in PyClass Family [MetaSchedule] Fix Cyclic Dependency in PyClass Family Mar 2, 2022
@zxybazh zxybazh force-pushed the bugfix/2022-02-18/fix-cyclic-dependency-on-pyclass branch from ddf9186 to 7c664b6 Compare March 2, 2022 02:12
@junrushao junrushao merged commit 1271e6c into apache:main Mar 4, 2022
ziqiangxu8457 pushed a commit to ziqiangxu8457/tvm that referenced this pull request Mar 6, 2022
Following the design of module_pass, we developed a mechanism, a decorator named derived_obj, to systematically allow derivation from TVM objects in pure Python and being passed into any language, without cyclic dependency. This PR introduces the new mechanism to all PyClasses in meta schedule.
pfk-beta pushed a commit to pfk-beta/tvm that referenced this pull request Apr 11, 2022
Following the design of module_pass, we developed a mechanism, a decorator named derived_obj, to systematically allow derivation from TVM objects in pure Python and being passed into any language, without cyclic dependency. This PR introduces the new mechanism to all PyClasses in meta schedule.
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.

4 participants