-
Notifications
You must be signed in to change notification settings - Fork 3.8k
[Target] Target Tags, Composite Target and Unified Interface #6369
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
[Target] Target Tags, Composite Target and Unified Interface #6369
Conversation
comaniac
left a comment
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.
Last bunch of comments.
comaniac
left a comment
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!
|
@junrushao1994 please rebase and resolve the conflicts |
|
Blocked by the windows built. Hot fix is here: #6434 |
* Add `set_attr_preprocessor` to TargetKind registry, which is used to pre-process attribute maps. * Use `set_attr_preprocessor` for NVPTX and ROCm backend to check and add mcpu and mtriple. * Add TargetTag registration and retrieval on C++ side and python side. Allow creation of Target using the tag name. * Unify target creation on C++ side, replace Target::Create and Target::FromConfig with the constructor. * Unify target creation on python side, deprecate tvm.target.create and encourage direct use of the constructor of tvm.target.Target instead. * Add initial support for composite target.
|
@tqchen CI is green. Would you like to take another look? Thanks! |
|
Thanks @junrushao1994 @comaniac |
* Add `set_attr_preprocessor` to TargetKind registry, which is used to pre-process attribute maps. * Use `set_attr_preprocessor` for NVPTX and ROCm backend to check and add mcpu and mtriple. * Add TargetTag registration and retrieval on C++ side and python side. Allow creation of Target using the tag name. * Unify target creation on C++ side, replace Target::Create and Target::FromConfig with the constructor. * Unify target creation on python side, deprecate tvm.target.create and encourage direct use of the constructor of tvm.target.Target instead. * Add initial support for composite target.
* Add `set_attr_preprocessor` to TargetKind registry, which is used to pre-process attribute maps. * Use `set_attr_preprocessor` for NVPTX and ROCm backend to check and add mcpu and mtriple. * Add TargetTag registration and retrieval on C++ side and python side. Allow creation of Target using the tag name. * Unify target creation on C++ side, replace Target::Create and Target::FromConfig with the constructor. * Unify target creation on python side, deprecate tvm.target.create and encourage direct use of the constructor of tvm.target.Target instead. * Add initial support for composite target.
* Add `set_attr_preprocessor` to TargetKind registry, which is used to pre-process attribute maps. * Use `set_attr_preprocessor` for NVPTX and ROCm backend to check and add mcpu and mtriple. * Add TargetTag registration and retrieval on C++ side and python side. Allow creation of Target using the tag name. * Unify target creation on C++ side, replace Target::Create and Target::FromConfig with the constructor. * Unify target creation on python side, deprecate tvm.target.create and encourage direct use of the constructor of tvm.target.Target instead. * Add initial support for composite target.
set_attr_preprocessorto TargetKind registry, which is used to pre-process attribute maps. For exmaple, addmtripleautomatically.set_attr_preprocessorfor NVPTX and ROCm backend.Target::CreateandTarget::FromConfigwith the constructor.tvm.target.createand encourage direct use of the constructor oftvm.target.Targetinstead.