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

[Fix] fix windows build issue #7

Merged
merged 1 commit into from
Aug 14, 2022
Merged

[Fix] fix windows build issue #7

merged 1 commit into from
Aug 14, 2022

Conversation

Hzfengsy
Copy link
Member

@Hzfengsy Hzfengsy merged commit c164d22 into relax Aug 14, 2022
MasterJH5574 pushed a commit that referenced this pull request Aug 20, 2022
* Shape and type deduction.

* Fix header.

* Add call attrs to the deduce signature.

* Address comments.

* Add DiagnosticContext to IRBuilder and inference signature.

* Fix nits.
MasterJH5574 pushed a commit that referenced this pull request Oct 17, 2022
* Shape and type deduction.

* Fix header.

* Add call attrs to the deduce signature.

* Address comments.

* Add DiagnosticContext to IRBuilder and inference signature.

* Fix nits.
MasterJH5574 pushed a commit that referenced this pull request Nov 20, 2022
* Shape and type deduction.

* Fix header.

* Add call attrs to the deduce signature.

* Address comments.

* Add DiagnosticContext to IRBuilder and inference signature.

* Fix nits.
MasterJH5574 pushed a commit that referenced this pull request Dec 13, 2022
* [Op] High level op added

* Add LowerToTensorIRPass
* Register several high level ops
* Register gradients for ops
* Unit tests for Ops and gradients

[Pass] Add new SimpleAD pass (#3)

* Add SimpleAD pass

* Write unit tests

Co-authored-by: SiriusNEO <1713833595@qq.com>

[Relax][AD] Support tuple, modify APIs and move Ops to a new folder (#5)

This PR adds support for tuples in the automatic differentiation process of relax. Specifically, two operators, `Tuple()` and `TupleGetItem`, are supported. It also modifies `SimpleAD` api to remove string arguments and use GlobalVar, and adds `gradient` API, a new func to func interface.

Besides, we have moved the Ops created by us into a new folder `src/relax/op/training`.

[Testing] Relax LSTM demo and numeric gradient test (#6)

* lstm test changes

* relax training lstm demo

Rebase fix (#8)

* fix rebase error

* rebase fix: AD adapts to new parser

* rebase fix: return RuntimeDepShape now

Co-authored-by: ubospica <ubospica@gmail.com>

[Pass] Polish SimpleAD pass (#9)

* SimpleAD now will copy params, which fix the shared Var between functions problem

* add error unitests

* modify type of require_grads and error test

Optimizer API (#7)

Co-authored-by: SiriusNEO <1713833595@qq.com>

[Relax][Training] Relax Trainer API (#10)

* append call pass

* add test for append call

* successfully train LSTM using this trainer

* refractor training structure

* add tests for trainer

* remove a file

* Remove optimizer from this branch

* sync with optimizer api

* redesign API and add document

* fix some problems

Co-authored-by: ubospica <ubospica@gmail.com>

[FIX][Relax AD] replace ones_like with ones (#11)

* ones_like to one

* fix rebase

Co-authored-by: ubospica <ubospica@gmail.com>

Op polish

revision

* fix ops

* debug for ops

* prepare for pr

* fix pr issues

* - Add collapse_sum document
- Remove test_relax_ops running part
- Add op legalizer test

* fix qemu-hack

* remove unnecessary imports from test
MasterJH5574 pushed a commit that referenced this pull request Dec 14, 2022
* [Op] High level op added

* Add LowerToTensorIRPass
* Register several high level ops
* Register gradients for ops
* Unit tests for Ops and gradients

[Pass] Add new SimpleAD pass (#3)

* Add SimpleAD pass

* Write unit tests

Co-authored-by: SiriusNEO <1713833595@qq.com>

[Relax][AD] Support tuple, modify APIs and move Ops to a new folder (#5)

This PR adds support for tuples in the automatic differentiation process of relax. Specifically, two operators, `Tuple()` and `TupleGetItem`, are supported. It also modifies `SimpleAD` api to remove string arguments and use GlobalVar, and adds `gradient` API, a new func to func interface.

Besides, we have moved the Ops created by us into a new folder `src/relax/op/training`.

[Testing] Relax LSTM demo and numeric gradient test (#6)

* lstm test changes

* relax training lstm demo

Rebase fix (#8)

* fix rebase error

* rebase fix: AD adapts to new parser

* rebase fix: return RuntimeDepShape now

Co-authored-by: ubospica <ubospica@gmail.com>

[Pass] Polish SimpleAD pass (#9)

* SimpleAD now will copy params, which fix the shared Var between functions problem

* add error unitests

* modify type of require_grads and error test

Optimizer API (#7)

Co-authored-by: SiriusNEO <1713833595@qq.com>

[Relax][Training] Relax Trainer API (#10)

* append call pass

* add test for append call

* successfully train LSTM using this trainer

* refractor training structure

* add tests for trainer

* remove a file

* Remove optimizer from this branch

* sync with optimizer api

* redesign API and add document

* fix some problems

Co-authored-by: ubospica <ubospica@gmail.com>

[FIX][Relax AD] replace ones_like with ones (#11)

* ones_like to one

* fix rebase

Co-authored-by: ubospica <ubospica@gmail.com>

Op polish

revision

* fix ops

* debug for ops

* prepare for pr

* fix pr issues

* - Add collapse_sum document
- Remove test_relax_ops running part
- Add op legalizer test

* fix qemu-hack

* remove unnecessary imports from test
@tqchen tqchen deleted the windows_issue branch December 19, 2022 19:18
SiriusNEO pushed a commit to SiriusNEO/relax that referenced this pull request Dec 21, 2022
* [IR] Introduce StructInfo

* StructInfoFunctor and Analysis Support

* [TVMScript] Parse type/shape annotation with StructInfo

* remove runtime type assign

* Remove type/shape during parsing (mlc-ai#2)

* Normalizer prep: simple checks and legacy function renaming.

* Struct info deduction in BlockBuilder.

* Two TODOs

* StructInfo Normalizer Fixes (mlc-ai#3)

* StructInfo AST Fix

* Fix Extern Func Deduction and shape mutator.

* Update VoidStructInfo & globalvar (mlc-ai#4)

* Fix passes and proper sinfo propagation.

* Refactor EraseToWellDefined to Enable Remapping

* [WIP] First stab at symbolic param tracking

* Update EraseToWellDefined to support symbolic shape return (mlc-ai#5)

* fix R.shape with ndim (mlc-ai#6)

* Remove update shape/type

* Address review comment, AnnotateTypeShape=>AnnotateStructInfo

* Update include/tvm/script/ir_builder/relax/frame.h

Co-authored-by: Ruihang Lai <ruihangl@cs.cmu.edu>

* Address comments

* Update printer to use structinfo (mlc-ai#7)

* Update Error mechanism to prep for obj loc based reporting

* Symbolic shape aware function call return value derivation.

The main flow works as follows:
- Match and populate shape_var_map and var_map by visit each pair of
  param and call arguments.
- Call EraseToWellDefined to map the ret parameter to new result.

* [ANALYSIS] Refactor well-form to only look at struct info.

* Update comments according to reviews.

* Update include/tvm/relax/struct_info.h

Co-authored-by: Ruihang Lai <ruihangl@cs.cmu.edu>

Co-authored-by: Siyuan Feng <Hzfengsy@sjtu.edu.cn>
Co-authored-by: Tianqi Chen <tqchen>
Co-authored-by: Ruihang Lai <ruihangl@cs.cmu.edu>
MasterJH5574 pushed a commit that referenced this pull request Jan 16, 2023
* Shape and type deduction.

* Fix header.

* Add call attrs to the deduce signature.

* Address comments.

* Add DiagnosticContext to IRBuilder and inference signature.

* Fix nits.
MasterJH5574 added a commit that referenced this pull request Jan 16, 2023
* [IR] Introduce StructInfo

* StructInfoFunctor and Analysis Support

* [TVMScript] Parse type/shape annotation with StructInfo

* remove runtime type assign

* Remove type/shape during parsing (#2)

* Normalizer prep: simple checks and legacy function renaming.

* Struct info deduction in BlockBuilder.

* Two TODOs

* StructInfo Normalizer Fixes (#3)

* StructInfo AST Fix

* Fix Extern Func Deduction and shape mutator.

* Update VoidStructInfo & globalvar (#4)

* Fix passes and proper sinfo propagation.

* Refactor EraseToWellDefined to Enable Remapping

* [WIP] First stab at symbolic param tracking

* Update EraseToWellDefined to support symbolic shape return (#5)

* fix R.shape with ndim (#6)

* Remove update shape/type

* Address review comment, AnnotateTypeShape=>AnnotateStructInfo

* Update include/tvm/script/ir_builder/relax/frame.h

Co-authored-by: Ruihang Lai <ruihangl@cs.cmu.edu>

* Address comments

* Update printer to use structinfo (#7)

* Update Error mechanism to prep for obj loc based reporting

* Symbolic shape aware function call return value derivation.

The main flow works as follows:
- Match and populate shape_var_map and var_map by visit each pair of
  param and call arguments.
- Call EraseToWellDefined to map the ret parameter to new result.

* [ANALYSIS] Refactor well-form to only look at struct info.

* Update comments according to reviews.

* Update include/tvm/relax/struct_info.h

Co-authored-by: Ruihang Lai <ruihangl@cs.cmu.edu>

Co-authored-by: Siyuan Feng <Hzfengsy@sjtu.edu.cn>
Co-authored-by: Tianqi Chen <tqchen>
Co-authored-by: Ruihang Lai <ruihangl@cs.cmu.edu>
MasterJH5574 pushed a commit that referenced this pull request Feb 8, 2023
* Shape and type deduction.

* Fix header.

* Add call attrs to the deduce signature.

* Address comments.

* Add DiagnosticContext to IRBuilder and inference signature.

* Fix nits.
MasterJH5574 added a commit that referenced this pull request Feb 8, 2023
* [IR] Introduce StructInfo

* StructInfoFunctor and Analysis Support

* [TVMScript] Parse type/shape annotation with StructInfo

* remove runtime type assign

* Remove type/shape during parsing (#2)

* Normalizer prep: simple checks and legacy function renaming.

* Struct info deduction in BlockBuilder.

* Two TODOs

* StructInfo Normalizer Fixes (#3)

* StructInfo AST Fix

* Fix Extern Func Deduction and shape mutator.

* Update VoidStructInfo & globalvar (#4)

* Fix passes and proper sinfo propagation.

* Refactor EraseToWellDefined to Enable Remapping

* [WIP] First stab at symbolic param tracking

* Update EraseToWellDefined to support symbolic shape return (#5)

* fix R.shape with ndim (#6)

* Remove update shape/type

* Address review comment, AnnotateTypeShape=>AnnotateStructInfo

* Update include/tvm/script/ir_builder/relax/frame.h

Co-authored-by: Ruihang Lai <ruihangl@cs.cmu.edu>

* Address comments

* Update printer to use structinfo (#7)

* Update Error mechanism to prep for obj loc based reporting

* Symbolic shape aware function call return value derivation.

The main flow works as follows:
- Match and populate shape_var_map and var_map by visit each pair of
  param and call arguments.
- Call EraseToWellDefined to map the ret parameter to new result.

* [ANALYSIS] Refactor well-form to only look at struct info.

* Update comments according to reviews.

* Update include/tvm/relax/struct_info.h

Co-authored-by: Ruihang Lai <ruihangl@cs.cmu.edu>

Co-authored-by: Siyuan Feng <Hzfengsy@sjtu.edu.cn>
Co-authored-by: Tianqi Chen <tqchen>
Co-authored-by: Ruihang Lai <ruihangl@cs.cmu.edu>
spectrometerHBH pushed a commit to spectrometerHBH/relax that referenced this pull request Feb 9, 2023
* Shape and type deduction.

* Fix header.

* Add call attrs to the deduce signature.

* Address comments.

* Add DiagnosticContext to IRBuilder and inference signature.

* Fix nits.
spectrometerHBH pushed a commit to spectrometerHBH/relax that referenced this pull request Feb 9, 2023
* [IR] Introduce StructInfo

* StructInfoFunctor and Analysis Support

* [TVMScript] Parse type/shape annotation with StructInfo

* remove runtime type assign

* Remove type/shape during parsing (mlc-ai#2)

* Normalizer prep: simple checks and legacy function renaming.

* Struct info deduction in BlockBuilder.

* Two TODOs

* StructInfo Normalizer Fixes (mlc-ai#3)

* StructInfo AST Fix

* Fix Extern Func Deduction and shape mutator.

* Update VoidStructInfo & globalvar (mlc-ai#4)

* Fix passes and proper sinfo propagation.

* Refactor EraseToWellDefined to Enable Remapping

* [WIP] First stab at symbolic param tracking

* Update EraseToWellDefined to support symbolic shape return (mlc-ai#5)

* fix R.shape with ndim (mlc-ai#6)

* Remove update shape/type

* Address review comment, AnnotateTypeShape=>AnnotateStructInfo

* Update include/tvm/script/ir_builder/relax/frame.h

Co-authored-by: Ruihang Lai <ruihangl@cs.cmu.edu>

* Address comments

* Update printer to use structinfo (mlc-ai#7)

* Update Error mechanism to prep for obj loc based reporting

* Symbolic shape aware function call return value derivation.

The main flow works as follows:
- Match and populate shape_var_map and var_map by visit each pair of
  param and call arguments.
- Call EraseToWellDefined to map the ret parameter to new result.

* [ANALYSIS] Refactor well-form to only look at struct info.

* Update comments according to reviews.

* Update include/tvm/relax/struct_info.h

Co-authored-by: Ruihang Lai <ruihangl@cs.cmu.edu>

Co-authored-by: Siyuan Feng <Hzfengsy@sjtu.edu.cn>
Co-authored-by: Tianqi Chen <tqchen>
Co-authored-by: Ruihang Lai <ruihangl@cs.cmu.edu>
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.

1 participant