The comment in AtenDispatch.h:
[// This dispatch class serves as a replacement for our previous dispatch
// mechanism, in which all functions were members of a Type class. A derived
// class existed for each backend (and Variable), and the vtable was used to
// dispatch to the correct implementation. This class is to be replaced by
// the c10 dispatcher when it supports all argument and return types.
// This implementation opts to store implementations in a table of void*.]
This means now there are 3 kinds of dispatch mechanisms for route the operators(LegacyTypeDispatch AtenDispatch and c10Dispatcher),  I see the c10Dispatcher is created many months ago, why along time has passed, this final dispatcher is still cannot used and not continuesly develope it?  why stop sometime to develop c10disparcher and switch todevelope a AtenDispatch, which is also a temp disign?