-
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
[WIP][Runtime]Pipeline Executor For Compute graph pipeline #7892
Conversation
Thanks @tqchen for the follow up, I proposed a RFC(https://discuss.tvm.apache.org/t/rfc-compute-graph-pipeline-with-new-subgraph-executor/9839) to explain the motivation and solution architecture as reference. |
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.
Reviewed the test for APIs and user interfaces, but it needs lots of changes so I'll stop here for now.
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.
Alco cc @areusch @tmoreau89
params : dict of str to NDArray | ||
Additional arguments | ||
""" | ||
if key is not None: |
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.
Why key
and value
are allowed to be None?
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.
fixed.
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.
Didn't see the fix? Why we need if key is not None
?
6061ae2
to
1c67a87
Compare
I'm busy with other tasks in recent days. Will try to take another look when I got a chance. |
2947327
to
62e4d5f
Compare
@comaniac, if you have time , could you help for a review. thanks. |
|
||
template <typename SLOT_TYPE = SLOT> | ||
void deleteQueue(squeue<SLOT_TYPE>* q) { | ||
free(q); |
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.
use delete
#include <assert.h> | ||
#include <sched.h> | ||
#include <string.h> | ||
#include <sys/syscall.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.
Only compiles on linux
Thanks @huajsj. Please respect our coding style and standard good programming practices:
|
[Finding] the final output is same with constant value, seems like input data is 0, this is because the get input index have a '+1' operation, but the input index already start from 0. the means when doing setinput('x',..) it should get convert to setinput(0, ..), but the wrong logic is setinput(1,..).
IIUC, this PR should be out-of-date? Should we close? |
@comaniac , yes we should close this PR, closed it now. |
Issue:
SOC hardware plarform have multiple types compute chipset like
GPU,FPGA,APU,RPU etc, there is a requirement that use these compute
unit in parallel to reach best performance.
Solution:
In these pipeline solution, we first split the compute graph into
a group of subgraph, then run these subgraph in a pipeline module
to make the GPU/FPGA/APU/RPU parallel running become possible.
Thanks for contributing to TVM! Please refer to guideline https://tvm.apache.org/docs/contribute/ for useful information and tips. After the pull request is submitted, please request code reviews from Reviewers by @ them in the pull request thread.