diff options
author | Michael Butler <butlermichael@google.com> | 2019-01-17 17:54:51 -0800 |
---|---|---|
committer | Michael Butler <butlermichael@google.com> | 2019-01-25 14:34:29 -0800 |
commit | 6029632e71825b017f1cf875f7bb74a3a409cb7e (patch) | |
tree | 557cfcff2f93b807a2783f64c58e09a1b74491a4 /nn/runtime/test/TestExecution.cpp | |
parent | 7ba572d546ec2ebe6fd30d8ce0b4318219f6b93b (diff) | |
download | ml-6029632e71825b017f1cf875f7bb74a3a409cb7e.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
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 3ee7e3371..8d93efd3b 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(); } } |