OSDN Git Service

Remove operationTuple.
authorJean-Luc Brouillet <jeanluc@google.com>
Sat, 23 Sep 2017 22:15:58 +0000 (15:15 -0700)
committerJean-Luc Brouillet <jeanluc@google.com>
Sun, 24 Sep 2017 07:44:11 +0000 (00:44 -0700)
Removed operationTuple from Model in the HAL, as the data type was
redundant information.

Removed supportedOperationTuples from Capabilities, as real drivers need
more complex restrictions than this provided.  For the OC-MR1, we'll just
rely on getSupportedNodes.

Also removed the unused cachesCompilation.

Bug: 63905942
Test: Compiled and ran tests.
Change-Id: I15f33d14634f2e1c8d726b1bd01d5b9e123b47ea

neuralnetworks/1.0/types.hal
neuralnetworks/1.0/vts/functional/Models.cpp
neuralnetworks/1.0/vts/functional/VtsHalNeuralnetworksV1_0TargetTest.cpp

index 537331b..54ed402 100644 (file)
@@ -1003,21 +1003,6 @@ enum DeviceStatus : int32_t {
 };
 
 /**
- * A typed operation.
- */
-struct OperationTuple {
-    /**
-     * The type of operation.
-     */
-    OperationType operationType;
-
-    /**
-     * The input data type of operation.
-     */
-    OperandType operandType;
-};
-
-/**
  * Performance information for the reference workload.
  *
  * Used by a driver to report its performance characteristics.
@@ -1039,20 +1024,6 @@ struct PerformanceInfo {
  */
 struct Capabilities {
     /**
-     * A collection of typed operations supported by the driver.
-     */
-    vec<OperationTuple> supportedOperationTuples;
-
-    /**
-     * Indicates whether a driver caches its prepared model for reuse the next
-     * time the application begins. This is useful because the model may have
-     * been prepared in a previous run.
-     *
-     * True if caching is supported, false otherwise.
-     */
-    bool cachesCompilation;
-
-    /**
      * Driver performance when operating on float32 data.
      */
     PerformanceInfo float32Performance;
@@ -1144,9 +1115,9 @@ struct Operand {
  */
 struct Operation {
     /**
-     * The tuple describing the operation type and input type.
+     * The operation type.
      */
-    OperationTuple opTuple;
+    OperationType type;
 
     /**
      * Describes the table that contains the indexes of the inputs of the
index 9802f62..8ce4f25 100644 (file)
@@ -78,9 +78,7 @@ Model createValidTestModel() {
     };
 
     const std::vector<Operation> operations = {{
-        .opTuple = {OperationType::ADD, OperandType::TENSOR_FLOAT32},
-        .inputs = {operand1, operand2, operand3},
-        .outputs = {operand4},
+        .type = OperationType::ADD, .inputs = {operand1, operand2, operand3}, .outputs = {operand4},
     }};
 
     const std::vector<uint32_t> inputIndexes = {operand1};
@@ -107,8 +105,7 @@ Model createValidTestModel() {
 // create first invalid model
 Model createInvalidTestModel1() {
     Model model = createValidTestModel();
-    model.operations[0].opTuple = {static_cast<OperationType>(0xDEADBEEF) /* INVALID */,
-                                   OperandType::TENSOR_FLOAT32};
+    model.operations[0].type = static_cast<OperationType>(0xDEADBEEF); /* INVALID */
     return model;
 }
 
index 59d66ba..0f354d1 100644 (file)
@@ -107,9 +107,6 @@ TEST_F(NeuralnetworksHidlTest, GetCapabilitiesTest) {
     Return<void> ret =
         device->getCapabilities([](ErrorStatus status, const Capabilities& capabilities) {
             EXPECT_EQ(ErrorStatus::NONE, status);
-            EXPECT_NE(nullptr, capabilities.supportedOperationTuples.data());
-            EXPECT_NE(0ull, capabilities.supportedOperationTuples.size());
-            EXPECT_EQ(0u, static_cast<uint32_t>(capabilities.cachesCompilation) & ~0x1);
             EXPECT_LT(0.0f, capabilities.float32Performance.execTime);
             EXPECT_LT(0.0f, capabilities.float32Performance.powerUsage);
             EXPECT_LT(0.0f, capabilities.quantized8Performance.execTime);