Create a specialized path for execution plan with a simple body.
This CL creates a specialized and simplified execution path for
execution plan with a SIMPLE body, i.e. the whole model is executed on a
single device.
Having this simplified path can avoid some runtime overheads that only
apply for a COMPOUND execution plan, including:
- ExecutionPlan::makeController/next
- StepExecutor::updateOutputShapes
It also simplifies the subsequent CLs to apply optmizations specific to
SIMPLE execution plans.
Additionally, this CL removes the use of ExecutionCallback in the sync
execution path.
Bug: 184073769
Test: NNT_static
Change-Id: If57bd9b9ea7f01e6e489d0b7977ab040691b2397
5 files changed