-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[Runtime] Special Memory Scope Support #7488
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
Conversation
|
cc @junrushao1994 @csullivan would be great if you can help review as well |
[RUNTIME] AllocDataSpace API. [RUNTIME] Update RPC CopyToRemote. [RUNTIME] Update RPC APIs. [RUNTIME] Reuse RPCReference. [RUNTIME] Update doc. [RUNTIME] Update RPC APIs. [RUNTIME] Clang format. [RUNTIME] TvmJS Support. [RUNTIME] Address comment. [RUNTIME] Update CRT. [RUNTIME] Fix.
|
Thanks @csullivan , please take another look and https://tvm.apache.org/docs/contribute/code_review.html?highlight=approve%20changes#approve-and-request-changes-explicitly |
csullivan
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 @ZihengJiang @tqchen!
junrushao
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.
It looks good to me! I didn't have any extra comments other than nitpicks. Thanks Ziheng for the contribution!
|
Thanks @ZihengJiang @junrushao1994 @csullivan ! |
In current TVM system, we categorize the machine's memory into serval types:
global,shared, etc. Based on this, we implicitly allocate and use those memory with the scheduling primitivescache_read/cache_write. However, caching still requires explicit movement during launch of every kernel, it can be beneficial to allocate these special memory explicitly during runtime so they can be reused across operators. Apart from this, TVM assumes that all the memory objects can be manipulated with a plain pointer (void*). The main limitations of the current runtime are:This PR bings changes in the TVM runtime to support special memory. See RFC here: https://discuss.tvm.apache.org/t/runtime-support-for-special-memory-scope/9187