Commit 475926a9 authored by David Gross's avatar David Gross
Browse files

Support partitions of V1_x::Model executing on V1_y::IDevice (x > y).

The old behavior is that none of a model can be executed on a device
whose HAL interface is too old for the model -- e.g., if the model
contains at least one V1_2 operation, then we cannot execute any of
the model on a V1_1 or V1_0 device, even V1_1 or V1_0 operations from
that model.  This CL removes that limitation: Any of a model's
operations that can be represented in a device's HAL interface are
eligible for execution on that device (subject to the usual constraints
about the device acknowledging that it supports an operation, and the
partitioning algorithm deciding which device is the best choice for a
given operation).

Also:
- Fix bug in TestPartitioning.cpp model comparison.  In the various
  lists of different kinds of model input and output operand indexes,
  we need to do topological rather than numerical comparisons, just
  as we do when topological rather than numerical comparisons of the
  model graphs.
- Add some V1_1 and V1_2 operations to random partition testing.

Bug: 79165035

Test: NeuralNetworksTest_static
Test: NeuralNetworksTest_static --gtest_filter=Seed/RandomPartitioningTest.Test/* running over ~50K seeds

Change-Id: I69f5e4b77ee0e8d4a8d503b166b44d6ed1a3be6c
parent 2ebdf648
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment