Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9e638b54 authored by Michael Butler's avatar Michael Butler Committed by Android (Google) Code Review
Browse files

Merge changes from topic "nnapi-QoS"

* changes:
  Create VTS tests for QoS in NNAPI
  Update NNAPI 1.3 VTS tests with new types
  Add Quality of Service to NNAPI HAL
parents 87d84d13 616701d3
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -650,11 +650,12 @@ adb0efdf1462e9b2e742c0dcadd598666aac551f178be06e755bfcdf5797abd0 android.hardwar
ac429fca0da4ce91218768ec31b64ded88251f8a26d8c4f27c06abdc5b1926d9 android.hardware.keymaster@4.1::types
df9c79c4fdde2821550c6d5c3d07f5ec0adfb1b702561ce543c906ddef698703 android.hardware.media.c2@1.1::IComponent
a3eddd9bbdc87e8c22764070037dd1154f1cf006e6fba93364c4f85d4c134a19 android.hardware.media.c2@1.1::IComponentStore
4b5c8546533db9412fec6d32c0ef42b22e5e68dbf390c775ec3c22bb2d501102 android.hardware.neuralnetworks@1.3::IBuffer
5a6b75f13f0e010a4268defa4f627b862ab2899fb04f9d985194a25bd8f9fe0d android.hardware.neuralnetworks@1.3::IDevice
058b48f0e2e725bb2b3fa2b7917b0f0a696383d03a4c57afe26f0eadb6a7af28 android.hardware.neuralnetworks@1.3::IPreparedModel
94e803236398bed1febb11cc21051bc42ec003700139b099d6c479e02a7ca3c3 android.hardware.neuralnetworks@1.3::IPreparedModelCallback
12c51f9d04a52324510419aeee3e37bb3607e6900556cdde79774d80ed989855 android.hardware.neuralnetworks@1.3::types
65c16331e57f6dd68b3971f06f78fe9e3209afb60630c31705aa355f9a52bf0d android.hardware.neuralnetworks@1.3::IBuffer
d1f382d14e1384b907d5bb5780df7f01934650d556fedbed2f15a90773c657d6 android.hardware.neuralnetworks@1.3::IDevice
4167dc3ad35e9cd0d2057d4868c7675ae2c3c9d05bbd614c1f5dccfa5fd68797 android.hardware.neuralnetworks@1.3::IExecutionCallback
7d23020248194abbee8091cc624f39a5a6d7ccba338b172d5d2d3df0cceffbee android.hardware.neuralnetworks@1.3::IPreparedModel
0439a1fbbec7f16e5e4c653d85ac685d51bfafbae15b8f8cca530acdd7d6a8ce android.hardware.neuralnetworks@1.3::IPreparedModelCallback
ee65638f8af3f9f4f222e7208eaa9f1f8e7f8e0a21545846ba67d0e27624efa1 android.hardware.neuralnetworks@1.3::types
3e01d4446cd69fd1c48f8572efd97487bc179564b32bd795800b97bbe10be37b android.hardware.wifi@1.4::IWifi
c67aaf26a7a40d14ea61e70e20afacbd0bb906df1704d585ac8599fbb69dd44b android.hardware.wifi.hostapd@1.2::IHostapd
11f6448d15336361180391c8ebcdfd2d7cf77b3782d577e594d583aadc9c2877 android.hardware.wifi.hostapd@1.2::types
+1 −1
Original line number Diff line number Diff line
@@ -272,7 +272,7 @@ void EvaluatePreparedModel(const sp<IPreparedModel>& preparedModel, const TestMo
            int n;
            std::tie(n, outputShapes, timing, std::ignore) =
                    controller->compute(request, testConfig.measureTiming, keys);
            executionStatus = nn::convertResultCodeToErrorStatus(n);
            executionStatus = nn::convertToV1_0(nn::convertResultCodeToErrorStatus(n));

            break;
        }
+3 −2
Original line number Diff line number Diff line
@@ -296,7 +296,8 @@ static void validateBurstFmqLength(const sp<IPreparedModel>& preparedModel,
    // collect serialized result by running regular burst
    const auto [nRegular, outputShapesRegular, timingRegular, fallbackRegular] =
            controllerRegular->compute(request, MeasureTiming::NO, keys);
    const ErrorStatus statusRegular = nn::convertResultCodeToErrorStatus(nRegular);
    const ErrorStatus statusRegular =
            nn::convertToV1_0(nn::convertResultCodeToErrorStatus(nRegular));
    EXPECT_FALSE(fallbackRegular);

    // skip test if regular burst output isn't useful for testing a failure
@@ -312,7 +313,7 @@ static void validateBurstFmqLength(const sp<IPreparedModel>& preparedModel,
    // large enough to return the serialized result
    const auto [nSmall, outputShapesSmall, timingSmall, fallbackSmall] =
            controllerSmall->compute(request, MeasureTiming::NO, keys);
    const ErrorStatus statusSmall = nn::convertResultCodeToErrorStatus(nSmall);
    const ErrorStatus statusSmall = nn::convertToV1_0(nn::convertResultCodeToErrorStatus(nSmall));
    EXPECT_NE(ErrorStatus::NONE, statusSmall);
    EXPECT_EQ(0u, outputShapesSmall.size());
    EXPECT_TRUE(badTiming(timingSmall));
+1 −1
Original line number Diff line number Diff line
@@ -107,7 +107,7 @@ static void validate(const sp<IPreparedModel>& preparedModel, const std::string&

        // execute and verify
        const auto [n, outputShapes, timing, fallback] = burst->compute(request, measure, keys);
        const ErrorStatus status = nn::convertResultCodeToErrorStatus(n);
        const ErrorStatus status = nn::convertToV1_0(nn::convertResultCodeToErrorStatus(n));
        EXPECT_EQ(ErrorStatus::INVALID_ARGUMENT, status);
        EXPECT_EQ(outputShapes.size(), 0);
        EXPECT_TRUE(badTiming(timing));
+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ hidl_interface {
        "types.hal",
        "IBuffer.hal",
        "IDevice.hal",
        "IExecutionCallback.hal",
        "IPreparedModel.hal",
        "IPreparedModelCallback.hal",
    ],
Loading