-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
[Lang] Layout in TVM node system #2509
Conversation
…(), add defined() checker
@yzhliu do you mind summarize the discuss thread a bit and open an formal RFC issue? |
@tqchen sure, will do. |
I'll start to review after RFC is out. |
Only some minors, generally looks good to me |
LGTM as long as we add topi layout_transform. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some quick feedbacks, overall looks good
@kevinthesun @merrymercy @tqchen Thanks for feedback. Comments addressed, please review again. |
include/tvm/layout.h
Outdated
* \brief Layout expression to describe the data organization of a tensor. | ||
* And BijectiveLayout to mapping two data layouts between each other. | ||
*/ | ||
#ifndef TVM_LAYOUT_H_ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about we rename layout.h ->data_layout just to make the header name clear, we do not have to rename anything in the class
Have one comment on changing layout.h->data_layout.h otherwise lgtm, will leave it to @merrymercy for moderation |
@tqchen @merrymercy @kevinthesun Comment addressed. Please check again. |
@tqchen @yzhliu @kevinthesun Thanks. It is merged |
* move layout.h & layout.cc from relay to tvm * change ConvertLayout in relay to bijectiveLayout->Forward/backward * add first test case * add LayoutAxis * add LayoutAxis struct and compiles * simplify BijectiveLayout rule consturct * polish func name for Layout, move impl to .cc, remove Layout::defined(), add defined() checker * partially add layout py support * add layout test cases * add doc for tvm.layout & tvm.bijective_layout * fix lint * fix lint * fix layout name generation bug * fix layout typo * address comments and add topi.layout_transform * layout.h->data_layout.h, test_lang_layout.py->test_lang_data_layout.py
* move layout.h & layout.cc from relay to tvm * change ConvertLayout in relay to bijectiveLayout->Forward/backward * add first test case * add LayoutAxis * add LayoutAxis struct and compiles * simplify BijectiveLayout rule consturct * polish func name for Layout, move impl to .cc, remove Layout::defined(), add defined() checker * partially add layout py support * add layout test cases * add doc for tvm.layout & tvm.bijective_layout * fix lint * fix lint * fix layout name generation bug * fix layout typo * address comments and add topi.layout_transform * layout.h->data_layout.h, test_lang_layout.py->test_lang_data_layout.py
* move layout.h & layout.cc from relay to tvm * change ConvertLayout in relay to bijectiveLayout->Forward/backward * add first test case * add LayoutAxis * add LayoutAxis struct and compiles * simplify BijectiveLayout rule consturct * polish func name for Layout, move impl to .cc, remove Layout::defined(), add defined() checker * partially add layout py support * add layout test cases * add doc for tvm.layout & tvm.bijective_layout * fix lint * fix lint * fix layout name generation bug * fix layout typo * address comments and add topi.layout_transform * layout.h->data_layout.h, test_lang_layout.py->test_lang_data_layout.py
* move layout.h & layout.cc from relay to tvm * change ConvertLayout in relay to bijectiveLayout->Forward/backward * add first test case * add LayoutAxis * add LayoutAxis struct and compiles * simplify BijectiveLayout rule consturct * polish func name for Layout, move impl to .cc, remove Layout::defined(), add defined() checker * partially add layout py support * add layout test cases * add doc for tvm.layout & tvm.bijective_layout * fix lint * fix lint * fix layout name generation bug * fix layout typo * address comments and add topi.layout_transform * layout.h->data_layout.h, test_lang_layout.py->test_lang_data_layout.py
Per RFC we introduce Layout into TVM node system, and remove that from Relay.
Reviewers Please help to review @kevinthesun @merrymercy @tqchen