Archermmt opened a new pull request, #15615: URL: https://github.com/apache/tvm/pull/15615
This is a pull request for MSC(Multi-System Compile) RFC: https://discuss.tvm.apache.org/t/rfc-unity-msc-introduction-to-multi-system-compiler/15251/5 Tracking issue: https://github.com/apache/tvm/issues/15233 This is the first part of Milestone 0: Build MSCGraph core parts. Enable translation between Relay, Relax and MSCGraph without loss information. To limit each PR in reviewable size, the Milestone 0 will be split into 5 steps: M0.1: Passes for set name and layout for expressions (src/contrib/msc/transform) M0.2: MSCGraph core (src/contrib/msc/core/ir/graph && python/tvm/contrib/msc/core/ir/graph) M0.3: MSCGraph Builder (src/contrib/msc/core/ir/graph_builder) M0.4: Codegen (src/contrib/msc/core/codegen, src/contrib/msc/framework/tvm/codegen) M0.5: Translation test (relax/relay test && related helper modules in python) This PR add test for GraphBuilder and MSCGraph. GraphBuilder translate relax/relay function to MSCGraph. Implement of GraphBuilder is similar to GraphCreator in: https://github.com/apache/tvm/blob/unity/src/relax/transform/fuse_ops.cc The MSCGraph built form relax will be used as "IR" in all MSC process. This PR test MSCGraph by check the consistency. To keep the unittest clean and tiny, MSCGraph.inspect() is used as the readable "hash" of a MSCGraph. A inspect extract all the important infos in graph to dict, and can be used as the abstract of the graph. -- 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. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
