summaryrefslogtreecommitdiff
path: root/nn/runtime/test/TestExecution.cpp
diff options
context:
space:
mode:
authorSlava Shklyaev <slavash@google.com>2020-02-18 20:58:55 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-02-18 20:58:55 +0000
commitdb1eaed73940693859b581c9336e64e6db7ed49a (patch)
treecf94db20f864d004bdf456d91a0b4d1655cd0463 /nn/runtime/test/TestExecution.cpp
parent644f69fbed6f39989c0571ad57b8b27da830679e (diff)
parent64ffe91670d39eca7e072e07d258a6337c3b3b1b (diff)
downloadml-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.cpp10
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();
}