diff options
author | Slava Shklyaev <slavash@google.com> | 2020-02-18 20:58:55 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-02-18 20:58:55 +0000 |
commit | db1eaed73940693859b581c9336e64e6db7ed49a (patch) | |
tree | cf94db20f864d004bdf456d91a0b4d1655cd0463 /nn/runtime/test/TestExecution.cpp | |
parent | 644f69fbed6f39989c0571ad57b8b27da830679e (diff) | |
parent | 64ffe91670d39eca7e072e07d258a6337c3b3b1b (diff) | |
download | ml-db1eaed73940693859b581c9336e64e6db7ed49a.tar.gz |
Merge changes from topics "nnapi-loop-timeout", "nnapi-loop-timeout-hal"
* changes:
Add setLoopTimeout CTS test
Implement loop timeout in CpuExecutor
Implement loop timeout in ExecutionPlan
Incorporate loop timeout HAL changes
Specify loop timeout result codes
Add loop timeout API
Diffstat (limited to 'nn/runtime/test/TestExecution.cpp')
-rw-r--r-- | nn/runtime/test/TestExecution.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/nn/runtime/test/TestExecution.cpp b/nn/runtime/test/TestExecution.cpp index 1bef9734b..dc0dd80c7 100644 --- a/nn/runtime/test/TestExecution.cpp +++ b/nn/runtime/test/TestExecution.cpp @@ -102,10 +102,12 @@ class TestPreparedModelLatest : public IPreparedModel { Return<V1_3::ErrorStatus> execute_1_3(const V1_3::Request& request, MeasureTiming measure, const OptionalTimePoint& deadline, + const OptionalTimeoutDuration& loopTimeoutDuration, const sp<V1_3::IExecutionCallback>& callback) override { CHECK(mPreparedModelV1_3 != nullptr) << "V1_3 prepared model is nullptr."; if (mErrorStatus == ErrorStatus::NONE) { - return mPreparedModelV1_3->execute_1_3(request, measure, deadline, callback); + return mPreparedModelV1_3->execute_1_3(request, measure, deadline, loopTimeoutDuration, + callback); } else if (mErrorStatus == ErrorStatus::OUTPUT_INSUFFICIENT_SIZE) { OutputShape shape = {.dimensions = {1}, .isSufficient = false}; callback->notify_1_3(mErrorStatus, {shape}, kBadTiming); @@ -133,10 +135,12 @@ class TestPreparedModelLatest : public IPreparedModel { Return<void> executeSynchronously_1_3(const V1_3::Request& request, MeasureTiming measure, const OptionalTimePoint& deadline, + const OptionalTimeoutDuration& loopTimeoutDuration, executeSynchronously_1_3_cb cb) override { CHECK(mPreparedModelV1_3 != nullptr) << "V1_3 prepared model is nullptr."; if (mErrorStatus == ErrorStatus::NONE) { - return mPreparedModelV1_3->executeSynchronously_1_3(request, measure, deadline, cb); + return mPreparedModelV1_3->executeSynchronously_1_3(request, measure, deadline, + loopTimeoutDuration, cb); } else if (mErrorStatus == ErrorStatus::OUTPUT_INSUFFICIENT_SIZE) { OutputShape shape = {.dimensions = {1}, .isSufficient = false}; cb(mErrorStatus, {shape}, kBadTiming); @@ -163,7 +167,7 @@ class TestPreparedModelLatest : public IPreparedModel { } Return<void> executeFenced(const V1_3::Request&, const hidl_vec<hidl_handle>&, MeasureTiming, const OptionalTimePoint&, const OptionalTimeoutDuration&, - executeFenced_cb cb) override { + const OptionalTimeoutDuration&, executeFenced_cb cb) override { cb(ErrorStatus::DEVICE_UNAVAILABLE, hidl_handle(nullptr), nullptr); return Void(); } |