c2f1c1198c84f5a75fc2305935155f33b8ff5db2 |
|
13-Nov-2017 |
David Gross <dgross@google.com> |
Add more testing interfaces to CompilationBuilder. - Ability to override DeviceManager's partitioning setting. - Ability to compile against a specified list of Devices. - Ability to retrieve the ExecutionPlan. Test: nn/runtime/test with debug.nn.partition unset and set to 0 Change-Id: Iae2ae7fdaf13335acd2856cdc93fa259bbe52bba
/frameworks/ml/nn/runtime/CompilationBuilder.h
|
1f4381539b7e89c42336ee7cd1addb9a4c317b34 |
|
28-Sep-2017 |
David Gross <dgross@google.com> |
Finish implementing single-partition graphs. This includes wiring up the partitioning algorithm to the NN API compilation and execution phases under debug.nn.partition.test=2: When we have a single- partition graph, we rely on the device selection and compilation performed by the partitioning algorithm, rather than doing it at execution time as we were before. Bug: 63905942 Test: mma (user) mma (userdebug) ml/nn/runtime/tests (userdebug) (with debug.nn.partition.test 0, 1, and 2; no new failures, logcat looks plausible, compilation happens at the expected times) Change-Id: I6cd8b53625588d5aca81c87cc8600735e384b8e0
/frameworks/ml/nn/runtime/CompilationBuilder.h
|
65aa556323f4a054f80a75b6c4c721b2a7ed3298 |
|
14-Sep-2017 |
David Gross <dgross@google.com> |
Make Compilation API synchronous. Per advice from the API council, the Compilation API no longer exposes asynchronous behavior to the user -- rather than start() and wait() APIs, we now have a finish() API. Also: - Track whether or not Compilation::finish() has been invoked, for the sake of API usage checking. - Changed Model::finish() to return Result not int, for consistency. - Made Model and Compilation documentation more similar to one another. - Fixed typos in documentation. NOTE: It's possible to implement compilation asynchronously behind the synchronous API -- e.g., Compilation_finish() starts compilation asynchronously, and we implicitly wait for it to complete at the point of Request_startCompute(). However, this would defeat one of the purposes of an explicit Compilation API -- giving the application control over when to spend the time compiling, to keep it off a critical timing path, such as repeatedly applying a model to a sequence of frames in real time. Bug: 63905942 Test: nn/runtime/tests Change-Id: I7194e277aa6211af66794d917dcc5254c7d81af4
/frameworks/ml/nn/runtime/CompilationBuilder.h
|
66d56404cdfab9ab8aa79d4bda83be3832a3aff9 |
|
14-Sep-2017 |
Miao Wang <miaowang@google.com> |
Make the enums pass as int32_t, and make offset and length size_t. - Also removes fp16 perf and bootup time info. Bug: 63905942 Test: NeuralNetworksTest Change-Id: I1f722fed06a4227eb5f204eb51f7728fe749f5ec
/frameworks/ml/nn/runtime/CompilationBuilder.h
|
3ced3cfd5b8f22b632c35f24e585c4847383b195 |
|
13-Sep-2017 |
David Gross <dgross@google.com> |
Rename Request to Execution at the API level. There's a separate notion of Request at the HIDL level; this is not renamed. Bug: 63905942 Test: nn/runtime/tests Change-Id: I671e3b387d735a9091dc5a2d14afbea6b45f444c
/frameworks/ml/nn/runtime/CompilationBuilder.h
|
544739620cd7f37d40524d2407c92042e485c73f |
|
11-Sep-2017 |
David Gross <dgross@google.com> |
More discipline for models and requests. - Must explicitly call new finish() API on model before compiling or freeing. - Must not modify a request once start() has been called on it. Bug: 63905942 Test: nn/runtime/tests, nn/common/operations tests Change-Id: Ifc6e614bda647d729e8702023a02613e629ca6a0
/frameworks/ml/nn/runtime/CompilationBuilder.h
|
83e24dc4706a5b7089881a55daf05b3924fab3b7 |
|
10-Sep-2017 |
David Gross <dgross@google.com> |
Add compilation APIs. For now, compilation is implemented as a synchronous no-op. Bug: 63905942 Test: nn/runtime/tests, nn/common/operations tests Change-Id: I1cb96a7e800671d0c70c9cc1b7eab6f8244232cb
/frameworks/ml/nn/runtime/CompilationBuilder.h
|