diff options
author | Michael Butler <butlermichael@google.com> | 2019-01-17 17:54:51 -0800 |
---|---|---|
committer | Slava Shklyaev <slavash@google.com> | 2019-01-29 18:33:48 +0000 |
commit | 92399819b2149473c2779e232e7531e86ded4ae2 (patch) | |
tree | 64563693c6c38c9366853efd3087c635193b1bd5 /nn/runtime/test/TestExecution.cpp | |
parent | 9d6616ac9b76867eef324bae109c6e804d69df89 (diff) | |
download | ml-92399819b2149473c2779e232e7531e86ded4ae2.tar.gz |
NNAPI Burst -- runtime utility
The NNAPI is introducing the notion of an "Execution Burst" object (or
more simply a "Burst" object), which is similar to an
ANeuralNetworksExecution, but is intended to be reused across multiple
executions and has lower IPC overheads. It achieves this low IPC
overhead by replacing HIDL HwBinder calls with FMQ messages.
The Burst utility objects are exposed in two flavors:
1) A Controller object which is able to launch an execution and later
get the result. This will be used by the NN runtime, and is currently
used in the native tests in a sibling CL.
2) An automated Server object which--when created with a reference to an
IPreparedModel--will automatically receive a request to execute, call
the model's synchronous execution method, and forward the result to
an output channel.
To incorporate these changes, the service must implement
IPreparedModel::configureExecutionBurst. SampleDriver.cpp contains a
functional reference implementation.
Bug: 119570067
Test: mma
Test: VtsHalNeuralNetworksV1_2TargetTest
Change-Id: Ic7082f94c9a20f674c863af68ef106ba60f27d7f
Merged-In: Ic7082f94c9a20f674c863af68ef106ba60f27d7f
(cherry picked from commit 6029632e71825b017f1cf875f7bb74a3a409cb7e)
Diffstat (limited to 'nn/runtime/test/TestExecution.cpp')
-rw-r--r-- | nn/runtime/test/TestExecution.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/nn/runtime/test/TestExecution.cpp b/nn/runtime/test/TestExecution.cpp index 0d1996777..5373efad7 100644 --- a/nn/runtime/test/TestExecution.cpp +++ b/nn/runtime/test/TestExecution.cpp @@ -111,7 +111,7 @@ class TestPreparedModel12 : public V1_2::IPreparedModel { return mPreparedModelV1_2->configureExecutionBurst(callback, requestChannel, resultChannel, cb); } else { - cb(ErrorStatus::DEVICE_UNAVAILABLE, nullptr); + cb(mErrorStatus, nullptr); return Void(); } } |