ptrendx commented on pull request #19269:
URL: https://github.com/apache/incubator-mxnet/pull/19269#issuecomment-704372201


   Ok, issue #19264 came at a perfect time - it actually exposed a corner case 
that breaks both the original and the new algorithm. The minimal example looks 
like this:
   ![Unfused 
graph](https://user-images.githubusercontent.com/8398980/95224823-ff5eb480-07af-11eb-9c91-387e2eb57515.png)
   where `a0`, `a1`, `b0` and `b1` are fusable, while `xa` and `xb` are not. 
According to the original algorithm `a0` and `a1` can be fused together and 
`b0` and `b1` can be fused together. But if we do that we get:
   ![Fused 
graph](https://user-images.githubusercontent.com/8398980/95225193-5d8b9780-07b0-11eb-91ff-fc48a9b4467d.png)
   It happens because the algorithm does not take into account that the 
exclusion sets of the nodes connected to a subgraph need to contain the 
excluded nodes from all nodes in that subgraph, even if they were added later 
in the subgraph creation process.
   
   I am working on a solution that will fix that.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to