Imported Upstream version 1.8.0
[platform/core/ml/nnfw.git] / docs / runtime / api.md
1 # API
2
3 ## Runtime Layered Architecture
4
5 Here is a figure of runtime layered architecture.
6
7 ![Layered Architecture](api-layered-arch.png)
8
9 There are three parts - Frontend, Core and Backend. Core works with Frontend and Backend API. Frontend gets user inputs(neural networks models) and Backend does the actual computation.
10
11 ## Frontend API
12
13 Frontend API is about from creation/loading the model and
14
15 Runtime supports two (frontend) APIs - NN API and NNFW API.
16
17 ### NN API
18
19 NN API stands for Android Neural Networks API. It is part of Android Open Source Project and we provide a binding between NN API and One Runtime.
20
21 For usage, refer to [Howto : NN API](../howto/how-to-use-nnapi-binding.md).
22
23 ### NNFW API
24
25 NNFW API is ONE's own API. It supports loading models from NN Packages. As it is our own API, It can do most of functionalities that One Runtime offers. Representatively, it provides functions for execution with multiple backends.
26
27 For usage, refer to [Howto : NNFW API](../howto/how-to-use-nnfw-api.md).
28
29 ## Backend API
30
31 Backend API is defined by One Runtime.
32
33 Backend API is about actual computation of operations and memory management for operands. In order to allow different kinds of computation units or computation libraries, One Runtime defines Backend API to support user defined operation kernels and memory manager. It contains a lot of C++ headers which are subject to change.
34
35 For detailed descriptions, refer to [Backend API](../runtime/backend-api.md).