-
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
[TIR][TVMScript] specialize #8354
Conversation
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.
LGTM. Thanks!
cc @vinx13 @junrushao1994 please help to take a look |
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.
The logic LGTM. One miner point: is it possible to work on param_map
directly instead of one-by-one? Specifically, can we build var mapping in Specialize
with several parameters so that we can run PrimFuncSpecializer::Specialize
just once and make the time complexity decouple to the parameter number?
Thanks, @comaniac. Just have fixed it |
def test_specialize_recursive_load(): | ||
# TODO(Siyuan): add recursive Load testcase, e.g. A[C[i]] | ||
pass |
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.
I saw this TODO item today. Is it intended to leave the TODO here? Or it was because we forgot to write the unittest?
This PR enables meta_programming for TVM Functions (usually used for TVMScript), which is useful to define only one function(TVMScript) but used in different shapes.
Example:
Mate fucntion
Instruction:
Specialized function:
cc @tqchen @junrushao1994 @MasterJH5574 @comaniac