Cache key — the structural signature of a TraceGraph.
Two traces share an executable iff every field below matches. The
input values are not part of the key; only the per-op output meta
influences the compiled graph (because MPSGraph placeholders are
shape-static in Phase 1.2 and Phase 1.6 will introduce a separate
dynamic key variant).
Attributes
op_namesstd::vector<std::string>Op-name sequence in dispatch order. Compared element-wise.
output_shapesstd::vector<Shape>Per-op single-output shape. Phase 1.2 supports one output per node; Phase 1.3+ may append entries for multi-output ops.
output_dtypesstd::vector<Dtype>Per-op single-output dtype.
deviceDeviceDevice on which the executable was compiled (all ops in a trace must agree on one device — Phase 1.2 builder enforces this).