inference/research
drafthigh · 0.85updated 2026-10-05

Ascend GraphEngine (GE) README - CANN's graph compiler and executor

repo
This record is a draft. Not yet verified. Provisional. Treat every number on this page as provisional.

Fields

id
sources/w7k-ascend-graphengine-readme
Publisher
Huawei / Ascend
Kind
repo
Accessed
2026-10-05
notes
The open-source description of CANN's graph compiler. GE 'is a sub-module of MindSpore connecting the front end and devices', implemented in C++, 'specifically designed for an efficient operation on Ascend Chips' and 'automatically called without any exposure to the users' - i.e. it is not a kernel DSL a user writes, it is a graph-rewrite compiler that sits under the framework. GE Core is six serial stages: graph preparation, graph partition, graph optimization, graph compilation, graph loading, graph execution. Two mechanics are specific to Ascend and matter for a planner: (1) partition, because 'Ascend Chips are heterogeneous chips including CPUs and vector calculation units, i.e. AICORE', so operators are assigned to engines and the graph split into sub-graphs; (2) 'real-time operator compilation technology, i.e. the operator executable program is generated at real time according to the network structure' - which is the opposite of TensorRT's offline tactic-profiled build and is the reason Ascend cold-start cost sits in a different place. Cited for graph-rewrite strategy, the AICORE split, and the real-time-codegen fact.

Notes

The open-source description of CANN's graph compiler. GE 'is a sub-module of MindSpore connecting the front end and devices', implemented in C++, 'specifically designed for an efficient operation on Ascend Chips' and 'automatically called without any exposure to the users' - i.e. it is not a kernel DSL a user writes, it is a graph-rewrite compiler that sits under the framework. GE Core is six serial stages: graph preparation, graph partition, graph optimization, graph compilation, graph loading, graph execution. Two mechanics are specific to Ascend and matter for a planner: (1) partition, because 'Ascend Chips are heterogeneous chips including CPUs and vector calculation units, i.e. AICORE', so operators are assigned to engines and the graph split into sub-graphs; (2) 'real-time operator compilation technology, i.e. the operator executable program is generated at real time according to the network structure' - which is the opposite of TensorRT's offline tactic-profiled build and is the reason Ascend cold-start cost sits in a different place. Cited for graph-rewrite strategy, the AICORE split, and the real-time-codegen fact.

Cross-references

This record references no other records.