Documentation - update 'Using the API' chapter
[tidl/tidl-api.git] / docs / source / changelog.rst
1 #########
2 Changelog
3 #########
5 1.2.0 [Processor Linux SDK 5.2]
6 ===============================
7 **Added**
9 #. Updated API implementation to minimize TIDL API/OpenCL dispatch overhead using multiple execution contexts in the :term:`ExecutionObject`.
11 #. Execution Graph generation
13     Enable a two phase approach to generating execution graphs. Use the
14     following API function to enable timestamp generation:
16     .. code::
18         bool EnableTimeStamps(const std::string& file = "timestamp.log", size_t num_frames=32);
20     The generated log file can be viewed by using the execution_graph.py script. Refer to :ref:`execution-graph` for details.
22 #. Added Python 3 bindings for TIDL API. See the ``examples/pybind`` directory for examples of using the Python bindings. Set PYTHONPATH to the location of ``tidl.so``.
24    .. code::
26         root@am57xx-evm:~# export PYTHONPATH=/home/root/tidl-api/tidl_api
27         root@am57xx-evm:~# python3
28         >>> import tidl
29         >>> help (tidl)
31 **Removed**
33 #. Configuration::enableInternalInput. Not used by the API.
35 #. Execution::GetExecutionObjects().
37    Use Execution::operator[] and Execution::GetNumExecutionObjects() instead.
38    See :ref:`examples` for usage.
40 #. The timing methods for host execution in EOPs and EOs:
42    * GetProcessTimeInMilliSeconds()
43    * GetHostProcessTimeInMilliSeconds()
45    These methods were replaced by a timestamp based approach because they were
46    no longer accurate with multiple ExecutionObject contexts and pipelining.
47    Refer to :ref:`execution-graph` for details.
49 1.1.0 [Processor Linux SDK 5.1]
50 ===============================
51 **Added**
53 #. :term:`ExecutionObjectPipeline` class to hide complexity of executing network across C66x/EVE
54 #. API methods for tracing outputs from intermediate network layers - see :ref:`network_layer_output`.
55 #. Support for updating layer group id assignment before execution - see :ref:`layer-group-override`.
56 #. Provide feedback to the user on parameter and network heap size requirements - see :ref:`sizing_device_heaps`.
59 1.0.0 [Processor Linux SDK 5.0]
60 ===============================
61 First release of the TI Deep Learning API. TIDL API brings deep learning to the edge by enabling applications to leverage TI's proprietary, highly optimized CNN/DNN implementation on the EVE and C66x DSP compute engines. TIDL will initially target Vision/2D use cases.
63 **Supported AM57x Sitara Processors**
65  * `AM5749`_ (offload to EVEs and C66x DSPs)
66  * `AM571x`_ (offload to C66x DSPs)
67  * `AM5728`_ (offload to C66x DSPs)
68  * `AM5748`_ (offload to C66x DSPs)
70 **Supported Evaluation Modules (EVMs)**
72  * `AM574x IDK EVM`_
73  * `AM572x EVM`_
74  * `AM571x IDK EVM`_
77 .. _AM572x EVM:  http://www.ti.com/tool/tmdsevm572x
78 .. _AM571x IDK EVM:  http://www.ti.com/tool/tmdxidk5718
79 .. _AM574x IDK EVM:  http://www.ti.com/tool/tmdsidk574
80 .. _AM571x:     http://www.ti.com/processors/sitara/arm-cortex-a15/am57x/products.html#p2098=1%20C66x&p809=2;2
81 .. _AM5728:     http://www.ti.com/product/AM5728
82 .. _AM5748:     http://www.ti.com/product/am5748
83 .. _AM5749:     http://www.ti.com/product/am5749
84 .. _AM574x:     http://www.ti.com/processors/sitara/arm-cortex-a15/am57x/products.html#p2098=2%20C66x&p815=ECC