Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

Reliance on topological ordering for graph inputs #15362

Open
ptrendx opened this issue Jun 25, 2019 · 1 comment
Open

Reliance on topological ordering for graph inputs #15362

ptrendx opened this issue Jun 25, 2019 · 1 comment
Labels
API change Backend Issues related to the backend of MXNet Discussion Feature request

Comments

@ptrendx
Copy link
Member

ptrendx commented Jun 25, 2019

Currently MXNet relies on topological ordering of the graph when communicating between frontend languages and backend. This makes it hard to apply fusions in the graph, as they could change the topological order of graph inputs and so break passing of the inputs from frontend.

This could be solved by either moving to passing dictionaries (name, value) from frontend to the engine (which requires changing of C API) or making mappings inside Executor and CachedOp from the original topological ordering to the new one.

@anirudh2290
Copy link
Member

I think this makes sense to me, since the original topological ordering didn't assume mutations like subgraphing and fusion. Related issue: #14727 . I think this may require changes to user facing APIs in symbol, module and gluon since at many places ordering of arg_arrays, grad_arrays and aux_arrays depend on the list_arguments and list_inputs which depend on the topo ordering.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
API change Backend Issues related to the backend of MXNet Discussion Feature request
Projects
None yet
Development

No branches or pull requests

2 participants