-
Notifications
You must be signed in to change notification settings - Fork 6.8k
[NGRAPH] MXNet - nGraph initial integration #12502
Conversation
0da8f18
to
6aca854
Compare
6aca854
to
67f99d2
Compare
7ffdd6b
to
61bcdd1
Compare
Thanks for your contribution @mbrookhart |
61bcdd1
to
1210584
Compare
What's the test coverage? Do you need any help setting up the ngraph build test on MXNet CI? |
Hi Eric, We have a secondary test system working, but yeah, it would awesome to get some help setting up MXNet's CI, we haven't figured out exactly how that all works yet. Matthew |
1210584
to
2ffc093
Compare
235e29c
to
b7e6743
Compare
@eric-haibin-lin I think we have the CI system properly building with nGraph, starting to look at unit tests now. We see a few tests fail because the Subgraph API changes the number of nodes in the graph. According to @zheng-da, this is expected behavior. Would we expect the CI job to fail if we enabled those tests? |
@marcoabreu for review and inputs |
c6e2149
to
82670da
Compare
@szha @anirudh2290 as code owner can you please review let us know feedback if any; CI and full unit-test are enabled. Let us know anything we can do to expedite review/merge process. |
80f0b5b
to
b01608c
Compare
b01608c
to
304a4c9
Compare
@mbrookhart @ashokei sorry for the late review. are you going to provide tests? it seems your code isn't tested at all. |
@zheng-da Thanks for the review! We added nGraph build and unit test jobs to Jenkins, they're running all of |
90d9cee
to
01599b9
Compare
thanks @zheng-da for detailed review. Since this change just reuses subgraph API, we want to mainly test mxnet unit-tests through |
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.
Can you prepare an example showing how to use this feature in the folder example
?
After building MXNet with nGraph support, users can enable nGraph backend by setting `MXNET_SUBGRAPH_BACKEND="ngraph"`environmental variable. | ||
|
||
Gluon support is experimental and may or may not yield good performance. Gluon-NGraph | ||
integration can be enabled by setting the environmental variable `MXNET_NGRAPH_GLUON=1` |
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 is an additional evn var needed for Gluon? How different is it from MXNET_SUBGRAPH_BACKEND
?
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.
we use MXNET_NGRAPH_GLUON
env var for enabling/disabling mxnet imperative/gluon execution support for ngraph integration. This is not related(does not effect) to MXNET_SUBGRAPH_BACKEND
.
@reminisce Thanks for the review! What kind of examples would you like to see? After compiling with |
@ashokei could you resolve conflicts? Thanks |
thanks @anirudhacharya . |
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.
What's the plan for the bridge code?
@szha Our bridge code can be treated as 3rd party submodule and is publicly open source: https://github.com/NervanaSystems/ngraph-mxnet-bridge |
@mbrookhart @ashokei Thank you for your contribution! can you please address the review comments? Thank you! |
@szha any other concerns? |
@mbrookhart Pinging again. Can you rebase with master branch and address the review comments ? |
We have followed up with @szha a few weeks ago on the slack channel and waiting for him to approve this PR. |
@szha Can you take a look at this PR? @mbrookhart Can you please resolve conflicts? |
@mxnet-label-bot add [pr-awaiting-response] |
@szha is this PR good to go? @mbrookhart could you resolve the merge conflicts? |
We have resolved the merge conflicts a few times previously. It probably makes sense to resolve the conflicts before the merge once the PR is approved. Otherwise we need to continuously fixing the conflicts. |
@szha , @anirudh2290 Could you please review this PR again? @louisfeng waiting for the response. Thanks! |
@szha Could you please take a look again? Thanks. |
@mbrookhart Can you rebase with the latest master ? @szha @anirudh2290 Bouncing off for review... |
@szha @anirudh2290 Ping again for review |
@mbrookhart Could you please resolve the merge conflicts and @szha , @anirudh2290 will review it once the PR is updated!! Thanks! |
@mbrookhart Could you please resolve the merge conflicts and @szha , @anirudh2290 will review it once the PR is updated!! Thanks! |
|
||
const SubgraphPropertyPtr& subg_prop = g->GetAttr<SubgraphPropertyPtr>("subgraph_property"); | ||
nnvm::NodePtr n; | ||
if (!subg_prop->NeedGraphAttrs()) { |
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.
does this cause any overhead when ngraph isn’t enabled?
Description
Integrate MXNet with the Intel nGraph compiler using the Subgraph API feature. This PR provides integration for a number of models on the CPU. More models and backends will be coming in future PRs.
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.
Changes
Comments