]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - tidl/tidl-api.git/log
tidl/tidl-api.git
5 years agoAdded Python variant of mnist example
Ajay Jayaraj [Tue, 27 Nov 2018 20:56:19 +0000 (14:56 -0600)]
Added Python variant of mnist example

Also fix one_eo_per_frame.py to avoid creating an EVE executor if there are
no EVEs available.
(MCT-1088)

5 years agoAdd link in changelog for mnist example
Yuan Zhao [Tue, 27 Nov 2018 19:30:41 +0000 (13:30 -0600)]
Add link in changelog for mnist example

- MCT-1083

5 years agoAdd MNIST LeNet network model and test input
Yuan Zhao [Tue, 27 Nov 2018 15:58:46 +0000 (09:58 -0600)]
Add MNIST LeNet network model and test input

- Constrained to EVE only for now.
- Add documentation for mnist example.
- MCT-1083

5 years agoAdd mnist example with low compute
Yuan Zhao [Wed, 7 Nov 2018 20:50:59 +0000 (14:50 -0600)]
Add mnist example with low compute

- Show that TIDL API with multiple contexts and pipelined computation
  offers low overhead for small networks as well.
- MCT-1083

5 years agoUpdate reference output for unit tests
Ajay Jayaraj [Mon, 26 Nov 2018 22:28:05 +0000 (16:28 -0600)]
Update reference output for unit tests

A defect fix in the softmax layer necessitated updates to the reference
output of networks using the softmax layer.

(MCT-1087)

5 years agoDocumentation - update 'Using the API' chapter
Ajay Jayaraj [Thu, 15 Nov 2018 22:33:55 +0000 (16:33 -0600)]
Documentation - update 'Using the API' chapter

(MCT-1086)

5 years agoInitialize EO::current_frame_idx_m in constructor
Ajay Jayaraj [Thu, 15 Nov 2018 16:50:37 +0000 (10:50 -0600)]
Initialize EO::current_frame_idx_m in constructor

Initialize ExecutionObject::current_frame_idx_m array to 0 in the
ExecutionObject constructor to prevent out of range entries when
recording trace data.

In a pipelined processing loop, the application executes
ExecutionObject::ProcessFrameWait() on the first frame before it calls
ExecutionObject::ProcessFrameStartAsync. The side effect is that the
current_frame_idx_m is not initialized. This can result in negative
frame indices when writing trace data using ReportTrace or UpdateTrace
leading to memory errors.

Setting ExecutionObject::current_frame_idx_m to 0 in the constructor
avoids this scenario.

(MCT-1085)

5 years agoUpdated parameter description in doxygen comments
Ajay Jayaraj [Tue, 13 Nov 2018 21:46:30 +0000 (15:46 -0600)]
Updated parameter description in doxygen comments

(MCT-1084)

5 years agoBuild Python bindings library by default
Ajay Jayaraj [Wed, 7 Nov 2018 16:16:04 +0000 (10:16 -0600)]
Build Python bindings library by default

(MCT-1069)

5 years agoUpdated manifest for v1.2.0
Ajay Jayaraj [Thu, 1 Nov 2018 19:00:38 +0000 (14:00 -0500)]
Updated manifest for v1.2.0

(MCT-1060)

5 years agoAdd option to specify object classes list file
Yuan Zhao [Wed, 31 Oct 2018 21:53:30 +0000 (16:53 -0500)]
Add option to specify object classes list file

- so that user can specify a different object classes list file
  without re-compiling the application.
- MCT-1081

5 years agomcbench: image preprocessing, handle layergroups=1
Djordje Senicic [Wed, 31 Oct 2018 17:18:00 +0000 (13:18 -0400)]
mcbench: image preprocessing, handle layergroups=1

- Add image preprocessing for types 1 and 2.
- if layer groups is 1, force all layers to be in the same group

(MCT-1075)

5 years agoclassification: Support different network models
Djordje Senicic [Wed, 31 Oct 2018 17:14:34 +0000 (13:14 -0400)]
classification: Support different network models

jacinto11, mobilenet and inceptionet models can be used with this example.

5 years agoinfer: Add configuration files for inceptionnet and mobilenet that can run as two...
Djordje Senicic [Wed, 31 Oct 2018 17:12:00 +0000 (13:12 -0400)]
infer: Add configuration files for inceptionnet and mobilenet that can run as two layer groups

Signed-off-by: Djordje Senicic <x0157990@ti.com>
5 years agotidl_models: Add mobilenet and inceptionnet models, trained on ImageNet
Djordje Senicic [Wed, 31 Oct 2018 17:10:46 +0000 (13:10 -0400)]
tidl_models: Add mobilenet and inceptionnet models, trained on ImageNet

Signed-off-by: Djordje Senicic <x0157990@ti.com>
5 years agomcbench: Multicore benchmark with minimal overhead
Djordje Senicic [Wed, 24 Oct 2018 06:07:41 +0000 (02:07 -0400)]
mcbench: Multicore benchmark with minimal overhead

- Add required models, input test vectors and platform specific scripts
- Add inference configuration files for multicore benchmarking
- Rename input files to indicate multiple frames and add more inference
  configurations, covered in regression scripts

(MCT-1075)

5 years agoexamples: Add layers group command line parameter
Djordje Senicic [Wed, 24 Oct 2018 06:06:42 +0000 (02:06 -0400)]
examples: Add layers group command line parameter

Signed-off-by: Djordje Senicic <x0157990@ti.com>
5 years agoUpdated Python bindings to reflect API changes
Ajay Jayaraj [Wed, 31 Oct 2018 14:56:26 +0000 (09:56 -0500)]
Updated Python bindings to reflect API changes

(MCT-1080)

5 years agoAdd contextSize: hide OCL_TIDL_CACHE_ALIGN on host
Yuan Zhao [Tue, 30 Oct 2018 15:33:29 +0000 (10:33 -0500)]
Add contextSize: hide OCL_TIDL_CACHE_ALIGN on host

- MCT-1059

5 years agoAdded graph viewer for TIDL API timestamp data
Ajay Jayaraj [Wed, 24 Oct 2018 14:40:08 +0000 (09:40 -0500)]
Added graph viewer for TIDL API timestamp data

1. Created a python matplotlib based utility for viewing timestamp data
   generated from the TIDL API (viewer/execution_graph.py)
2. Minor updates to API internals to add ExecutionObject type, index to
   timestamp output

(MCT-1073)

5 years agoSimplify API for multiple contexts
Ajay Jayaraj [Mon, 15 Oct 2018 16:00:46 +0000 (11:00 -0500)]
Simplify API for multiple contexts

1.  Simplify context API in ExecutionObject. Replace context_id variants to
multiple existing APIs with these two APIs:

        bool AcquireAndRunContext(uint32_t& context_idx,
                                  int frame_idx,
                                  const IODeviceArgInfo& in,
                                  const IODeviceArgInfo& out);

        bool WaitAndReleaseContext(uint32_t  context_idx);

2. The timing methods for host execution in EOPs and EOs:

* GetProcessTimeInMilliSeconds()
* GetHostProcessTimeInMilliSeconds()

are no longer accurate with multiple contexts and pipelining.

Replace these methods and replace with a generic timestamp
based approach. There is a single API call to enable time stamps in an
application:

//! Enable time stamp generation for TIDL API events
bool EnableTimeStamps(const std::string& file = "timestamp.log", size_t
num_frames=32);
If this method is called before TIDL API frame processing, the API will
generate timestamps for events corresponding to each frame (e.g.
EOP::ProcessFrameStartAsync, EOP::ProcessFrameWait, etc.). These
timestamps are then written to file when the user's application
completes.

A separate script is used for post-processing the time stamps and
generating data for the user.

(MCT-1073, MCT-1074)

5 years agoEnqueue multiple frames at device side
Yuan Zhao [Thu, 4 Oct 2018 16:39:08 +0000 (11:39 -0500)]
Enqueue multiple frames at device side

- Previous implementation won't send/enqueue next frame to device
  until the host has received completion message for current frame.
  The improvement is to create multiple sets/contexts of internal
  TIDL input/output buffers at device side, and to send/enqueue next
  frame using a different set/context of internal TIDL input/output
  buffers to device while device is still processing the current frame.
  When device finishes current frame, it can immediately read
  its messageQ and start processing the next frame, without waiting
  for the completion message reaching the host and the hosting sending
  the next frame.
- In pipelined processing of multiple frames, this optimization can
  effectively hide the round-trip communication between host and device.
- Removed deprecated enableInternalInput feature
- MCT-1059

5 years agoQuantization history configuration parameters
Ajay Jayaraj [Mon, 15 Oct 2018 16:49:01 +0000 (11:49 -0500)]
Quantization history configuration parameters

Added the following parameters to Configuration:
* quantHistoryParam1
* quantHistoryParam2
* quantMargin

These parameters can be specified in the configuration file or set
directly in the code.

(MCT-1062)

5 years agoRemoved unused API functionality, added changelog
Ajay Jayaraj [Wed, 3 Oct 2018 21:57:49 +0000 (16:57 -0500)]
Removed unused API functionality, added changelog

(MCT-1062)

5 years agoRefactor imgutils::PreProcImage function
Ajay Jayaraj [Mon, 1 Oct 2018 18:49:16 +0000 (13:49 -0500)]
Refactor imgutils::PreProcImage function

- Renamed to imgutils::PreprocessImage
- Remove alloc/memcpy of data buffer, work off split OpenCV::Mat(s)
- Use Configuration to extract width, height, #channels etc.
- Number of ROIs is always 1 for TIDL API, remove from parameter list

(MCT-1063)

5 years agoAdding pybind11 v2.2.4 to repo
Ajay Jayaraj [Wed, 26 Sep 2018 21:59:49 +0000 (16:59 -0500)]
Adding pybind11 v2.2.4 to repo

- https://github.com/pybind/pybind11.git, branch v2.2
- commit sha: 9a19306fbf30642ca331d0ec88e7da54a96860f9
(MCT-1009)

5 years agoAdded Python 3 bindings for TIDL API
Ajay Jayaraj [Fri, 21 Sep 2018 15:53:30 +0000 (10:53 -0500)]
Added Python 3 bindings for TIDL API

* Using pybind11 v2.2 to add Python 3 bindings to TIDL API classes/methods
  https://pybind11.readthedocs.io/en/stable/index.html
  https://github.com/pybind/pybind11/tree/v2.2
* Leveraging the Python buffer protocol to expose input/output buffers
  from ExecutionObject/ExecutionObjectPipeline to Python application
  code. This eliminates copies between the Python application and the TIDL
  API library. (see examples/pybind/one_eo_per_frame.py).
* Methods renamed to follow Python style guide (PEP8)
* Bindings split across multiple pybind_* source files to reduce compile
  time
* tidl_api/Makefile builds a shared object - tidl.so. Add this so to
  PYTHONPATH to make the tidl module available to the Python interpreter.
  >>> import tidl
  >>> help (tidl)
* See examples/pybind for examples of using the Python bindings

(MCT-1009)

5 years agoRestore version to 1.2.0.0
Yuan Zhao [Wed, 12 Sep 2018 20:05:12 +0000 (15:05 -0500)]
Restore version to 1.2.0.0

5 years agoMerge tag 'v01.01.00.01' into develop
Yuan Zhao [Wed, 12 Sep 2018 20:02:18 +0000 (15:02 -0500)]
Merge tag 'v01.01.00.01' into develop

For PSDK 5.1 release

5 years agoMerge branch 'hotfix/v01.01.00.01' v01.01.00.01
Yuan Zhao [Wed, 12 Sep 2018 20:01:53 +0000 (15:01 -0500)]
Merge branch 'hotfix/v01.01.00.01'

5 years agoOptimize classification perf, report loop avg_fps
Yuan Zhao [Sat, 8 Sep 2018 05:06:48 +0000 (00:06 -0500)]
Optimize classification perf, report loop avg_fps

- Double buffer EOPs to overlap host pre/post-processing
  and device processing.  When EOP contains more than one EO,
  pipeline at EO level rather than at EOP level.
- Compute average FPS across a sliding window of frames
  using host loop iteration/frame time.
- MCT-1049

5 years agoStart hotfix v01.01.00.01
Yuan Zhao [Mon, 10 Sep 2018 15:40:51 +0000 (10:40 -0500)]
Start hotfix v01.01.00.01

5 years agoMerge tag 'v01.01.00.00' into develop
Ajay Jayaraj [Fri, 7 Sep 2018 19:46:02 +0000 (14:46 -0500)]
Merge tag 'v01.01.00.00' into develop

5 years agoMerge branch 'release/v01.01.00.00' v01.01.00.00
Ajay Jayaraj [Fri, 7 Sep 2018 19:45:44 +0000 (14:45 -0500)]
Merge branch 'release/v01.01.00.00'

5 years agoUpdated TIDL API manifest for v1.1
Ajay Jayaraj [Fri, 7 Sep 2018 19:02:12 +0000 (14:02 -0500)]
Updated TIDL API manifest for v1.1

(MCT-1050)

5 years agoexamples:classification: Use configuration.numFrames instead of hard coded big value
Djordje Senicic [Fri, 7 Sep 2018 17:34:37 +0000 (13:34 -0400)]
examples:classification: Use configuration.numFrames instead of hard coded big value

Signed-off-by: Djordje Senicic <x0157990@ti.com>
5 years agoexamples:classification: Increase main window and update picture of TIDL SW stack
Djordje Senicic [Fri, 7 Sep 2018 16:38:47 +0000 (12:38 -0400)]
examples:classification: Increase main window and update picture of TIDL SW stack

- MCT-1049

Signed-off-by: Djordje Senicic <x0157990@ti.com>
5 years agoUpdated version to 1.2.0
Ajay Jayaraj [Thu, 6 Sep 2018 20:34:22 +0000 (15:34 -0500)]
Updated version to 1.2.0

5 years agoClassification example code refactor and clean up
Yuan Zhao [Thu, 6 Sep 2018 16:36:17 +0000 (11:36 -0500)]
Classification example code refactor and clean up

- MCT-1049

5 years agoOptimize examples with EOP double buffering
Yuan Zhao [Wed, 5 Sep 2018 20:04:19 +0000 (15:04 -0500)]
Optimize examples with EOP double buffering

- Improve overall loop performance for imagenet and segmentation
- Update documentation on performance
- MCT-1039

5 years agoUpdates to User's Guide and related examples
Ajay Jayaraj [Wed, 5 Sep 2018 16:56:37 +0000 (11:56 -0500)]
Updates to User's Guide and related examples

Changes:
* Overview chapter, includes a Terminology section.
* Section on different use cases in the "Using the API" chapter.
* Updated the Examples chapter to reflect new examples and AM5749
  benchmarking.
* Added the two_eo_per_frame_opt example to illustrate double buffering.

(MCT-1043)

5 years agoWall cleanup, optimize ssd_multibox
Yuan Zhao [Wed, 5 Sep 2018 17:19:49 +0000 (12:19 -0500)]
Wall cleanup, optimize ssd_multibox

- Fix -Wall errors
- Optimize pipeline execution for ssd_multibox
- MCT-1015

5 years agoVideo input option and document update
Yuan Zhao [Thu, 23 Aug 2018 21:53:58 +0000 (16:53 -0500)]
Video input option and document update

- mp4/avi/mov as pre-recorded video input
- camera as live video input, let user choose video input port #
- refactor examples code
- bookkeep each EO's device/host time inside EOP since EO could be shared
- documentation update on 650MHz EVE
- documentation on video inputs and output
- MCT-1015

5 years agoAdded example to illustrate pipelining across EOs
Ajay Jayaraj [Thu, 30 Aug 2018 19:25:11 +0000 (14:25 -0500)]
Added example to illustrate pipelining across EOs

two_eo_per_frame is a simple example to illustrate using
ExecutionObjectPipeline to split processing a single frame across EVE
and DSP.

(MCT-1048)

5 years agoRefactor examples - test, one_eo_per_frame
Ajay Jayaraj [Mon, 27 Aug 2018 21:41:25 +0000 (16:41 -0500)]
Refactor examples - test, one_eo_per_frame

- Remove code duplication across test/main.cpp,
  test/multiple_executors.cpp and one_eo_per_frame/main.cpp
- Moved common code into common/utils.h, common/utils.cpp

(MCT-1047)

5 years agoclassification - fixed zero size image clip
Ajay Jayaraj [Wed, 29 Aug 2018 13:15:49 +0000 (08:15 -0500)]
classification - fixed zero size image clip

(PLSDK-2250)

5 years agoclassification - adjust example for API updates
Djordje Senicic [Tue, 28 Aug 2018 19:59:40 +0000 (14:59 -0500)]
classification - adjust example for API updates

- Enable operation up to 36fps on AM5749 with EVEs at 650MHz
- DisplayHelp update for number of cores

(PLSDK-2250)

5 years agoAdded an example to illustrate 1 EO per frame
Ajay Jayaraj [Fri, 24 Aug 2018 22:01:36 +0000 (17:01 -0500)]
Added an example to illustrate 1 EO per frame

(MCT-1043)

5 years agoDocumentation - refactoring and updates
Ajay Jayaraj [Wed, 22 Aug 2018 16:25:21 +0000 (11:25 -0500)]
Documentation - refactoring and updates

Changes:
- Added a release notes section with notes for v1.0 and v1.1
- Reworked the intro section
- Added an overview section, changed the API software picture to show
  more detail
- Removed duplicate documentation for tidl::Configuration in the rst
  file, moved documentation to doxygen comments in configuration.h
- Moved "building from source" to FAQs

(MCT-1043)

5 years agoUpdate imagenet to take mp4 input
Yuan Zhao [Wed, 22 Aug 2018 14:52:32 +0000 (09:52 -0500)]
Update imagenet to take mp4 input

- clean up command line options
- MCT-1015, MCT-1039

5 years agoReport memory usage when device allocation fails
Ajay Jayaraj [Fri, 17 Aug 2018 20:14:15 +0000 (15:14 -0500)]
Report memory usage when device allocation fails

TIDL API creates 2 device side heaps:
1. Parameter heap
2. Network heap

The sizes of these heaps are specified in the Configuration object, via
PARAM_HEAP_SIZE and NETWORK_HEAP_SIZE.

Existing behavior: If the heaps are not large enough, allocation on the
device triggers an assertion failure with no indication of how large the
heaps need to be for successfull allocation.

To improve the usability of the API, provide feedback to the user on the
heap sizes required to satisfy device side allocations when any
allocation fails.

Also added `-Wall -Werror` when building examples and fixed failures.

(MCT-1035)

5 years agoExecutionObjectPipeline for executing layersGroups
Yuan Zhao [Fri, 10 Aug 2018 04:42:42 +0000 (23:42 -0500)]
ExecutionObjectPipeline for executing layersGroups

- Add top level ExecutionObjectPipeline class to execute multiple
  layersGroups.
- An ExecutionObjectPipeline is constructed from multiple
  ExecutionObjects, each ExecutionObject executes one layersGroup
  in the network, together they execute consecutive layersGroups.
- Same look and feel as ExecutionObject, e.g. ProcessFrameStartAsync,
  ProcessFrameWait, GetInputBufferPointer, GetOutputBufferPointer
- MCT-1017, MCT-1029

5 years agoModified IODeviceArgInfo to enable pipelining EOs
Ajay Jayaraj [Mon, 13 Aug 2018 19:56:24 +0000 (14:56 -0500)]
Modified IODeviceArgInfo to enable pipelining EOs

(MCT-1030)

5 years agoRemove implementation details from ArgInfo
Ajay Jayaraj [Mon, 13 Aug 2018 17:30:40 +0000 (12:30 -0500)]
Remove implementation details from ArgInfo

Implementation details such as argument kind and PipeInfo should not be
a part of the user facing ArgInfo class. Also, PipeInfo is relevant only
for input/output arguments.

Moved implementation details out of ArgInfo and created 2 new classes:
DeviceArgInfo and IODeviceArgInfo.

DeviceArgInfo inherits from ArgInfo and adds an
argument kind (buffer, local or scalar). IODeviceArgInfo consists of
DeviceArgInfo and PipeInfo.

(MCT-1030)

5 years agoRemove input, output buffers from process kernel
Ajay Jayaraj [Fri, 10 Aug 2018 22:39:22 +0000 (17:39 -0500)]
Remove input, output buffers from process kernel

Input and output OpenCL buffers do not have to be passed into the process
kernel. The host will directly update input and output in the buffers
allocated by the TIDL library via the HostWriteNetInput and
HostReadNetOutput methods.

(MCT-1030)

5 years agoclassification: Update static images, synthetic video clip
Djordje Senicic [Thu, 2 Aug 2018 11:11:42 +0000 (07:11 -0400)]
classification: Update static images, synthetic video clip

(MCT-1031)
Signed-off-by: Djordje Senicic <x0157990@ti.com>
5 years agoSupport layer group id assignment updates
Ajay Jayaraj [Thu, 9 Aug 2018 18:33:58 +0000 (13:33 -0500)]
Support layer group id assignment updates

Provide API support for updating layer -> layer group id assignments
before executing network.

(MCT-1028)

5 years agoAdd support for accessing layer output data
Ajay Jayaraj [Fri, 3 Aug 2018 19:26:14 +0000 (14:26 -0500)]
Add support for accessing layer output data

* Added API methods to enable tracing and dump layer output buffers to
  file
  1. ExecutionObject::WriteLayerOutputsToFile
  2. ExecutionObject::GetOutputsFromAllLayers
  3. ExecutionObject::GetOutputFromLayer
  See examples/layer_output/main.cpp, ProcessTrace() for examples of
  using these tracing APIs.
* Added a 'enableTrace' field to the configuration file. Set to true
  to enable tracing.
* Update configuration file parser to allow comments, blank lines

Note:
Tracing requires ti-opencl, SHA-ID 188cc38627315d3041b80ee86e6ca33087348062
or newer.

(MCT-1023)

5 years agoMerge tag 'v01.00.00.03' into develop
Yuan Zhao [Wed, 25 Jul 2018 15:20:43 +0000 (10:20 -0500)]
Merge tag 'v01.00.00.03' into develop

Hotfix v01.00.00.03 for PSDK 5.0

5 years agoMerge branch 'hotfix/v01.00.00.03' v01.00.00.03
Yuan Zhao [Wed, 25 Jul 2018 15:19:50 +0000 (10:19 -0500)]
Merge branch 'hotfix/v01.00.00.03'

5 years agoUpdate to version 01.00.00.03
Yuan Zhao [Wed, 25 Jul 2018 15:11:07 +0000 (10:11 -0500)]
Update to version 01.00.00.03

5 years agoclassification example: Updated video clip and list of allowed classes
Djordje Senicic [Tue, 24 Jul 2018 20:49:09 +0000 (16:49 -0400)]
classification example: Updated video clip and list of allowed classes

Signed-off-by: Djordje Senicic <x0157990@ti.com>
5 years agoRestore version to 01.01.00.00 after merge
Yuan Zhao [Tue, 10 Jul 2018 15:29:43 +0000 (10:29 -0500)]
Restore version to 01.01.00.00 after merge

5 years agoMerge tag 'v01.00.00.02' into develop
Yuan Zhao [Tue, 10 Jul 2018 15:27:02 +0000 (10:27 -0500)]
Merge tag 'v01.00.00.02' into develop

For PSDK 18Q2 (5.0) release

5 years agoMerge branch 'hotfix/v01.00.00.02' v01.00.00.02
Yuan Zhao [Tue, 10 Jul 2018 15:26:24 +0000 (10:26 -0500)]
Merge branch 'hotfix/v01.00.00.02'

5 years agoRename test clips
Djordje Senicic [Mon, 9 Jul 2018 22:45:34 +0000 (18:45 -0400)]
Rename test clips

Signed-off-by: Djordje Senicic <x0157990@ti.com>
5 years agoclassification: Modify readme.md for correct executable name
Djordje Senicic [Mon, 9 Jul 2018 22:15:34 +0000 (18:15 -0400)]
classification: Modify readme.md for correct executable name

Signed-off-by: Djordje Senicic <x0157990@ti.com>
5 years agoexamples: classification example with command line defined labels and class filtering
Djordje Senicic [Mon, 9 Jul 2018 20:18:58 +0000 (16:18 -0400)]
examples: classification example with command line defined labels and class filtering

Signed-off-by: Djordje Senicic <x0157990@ti.com>
5 years agoClarify imagenet example output
Yuan Zhao [Mon, 9 Jul 2018 17:19:25 +0000 (12:19 -0500)]
Clarify imagenet example output

- Clarify that softmax layer output are not normalized to be
  real probabilities.
- MCT-1010

5 years agoEmit a warning when running on 2 EVEs instead of 4
Ajay Jayaraj [Wed, 4 Jul 2018 02:43:42 +0000 (21:43 -0500)]
Emit a warning when running on 2 EVEs instead of 4

* By default, the OpenCL runtime is configured with sufficient memory to
  offload TIDL networks to 2 devices. On devices with 4 EVEs (e.g.
  AM5729), the amount of memory available to the runtime must be
  increased. Refer the User's Guide, section "Insufficient OpenCL global
  memory" for details
* Documentation
  - Add a section on the "test" example
  - Include a note on the need to increase the default OpenCL global
    memory for 4 devices.

(MCT-1008)

5 years agoDocumentation and top-level makefile updates
Ajay Jayaraj [Thu, 28 Jun 2018 22:35:05 +0000 (17:35 -0500)]
Documentation and top-level makefile updates

(MCT-1008)

5 years agoTIDL-API docu update: time, probability
Yuan Zhao [Thu, 28 Jun 2018 20:09:32 +0000 (15:09 -0500)]
TIDL-API docu update: time, probability

- Elaborate device and host processing time in examples
- Clarify reported probability in imagenet example
- MCT-1008

5 years agoRenamed compute engine to EVE
Ajay Jayaraj [Mon, 25 Jun 2018 21:53:29 +0000 (16:53 -0500)]
Renamed compute engine to EVE

(MCT-1005)

5 years agoUpdate examples Makefile to use /usr/share/ti/tidl
Ajay Jayaraj [Mon, 25 Jun 2018 21:10:25 +0000 (16:10 -0500)]
Update examples Makefile to use /usr/share/ti/tidl

Update Makefile(s) in the examples directory to use tidl-api headers and
libraries from /usr/share/ti/tidl/tidl_api.

(MCT-1005)

5 years agotidl-viewer: fixes for yocto nativesdk build failures
Ajay Jayaraj [Thu, 21 Jun 2018 17:12:33 +0000 (12:12 -0500)]
tidl-viewer: fixes for yocto nativesdk build failures

1. Allow CXX to be overridden - this is required during a yocto
nativesdk build because the -isystem option is suffixed to CXX
2. Switch tidl-viewer to a 64bit x86/Linux binary. Building a 32bit
binary within a 64bit Yocto devkit is complicated.

(MCT-1001)

5 years agotidl-viewer: fixes for yocto nativesdk build failures v01.00.00.01
Ajay Jayaraj [Thu, 21 Jun 2018 17:12:33 +0000 (12:12 -0500)]
tidl-viewer: fixes for yocto nativesdk build failures

1. Allow CXX to be overridden - this is required during a yocto
nativesdk build because the -isystem option is suffixed to CXX
2. Switch tidl-viewer to a 64bit x86/Linux binary. Building a 32bit
binary within a 64bit Yocto devkit is complicated.

(MCT-1001)

5 years agoUpdated version to 1.1.0
Ajay Jayaraj [Fri, 25 May 2018 19:23:27 +0000 (14:23 -0500)]
Updated version to 1.1.0

5 years agoMerge tag 'v01.00.00' into develop
Ajay Jayaraj [Fri, 25 May 2018 19:21:54 +0000 (14:21 -0500)]
Merge tag 'v01.00.00' into develop

5 years agoMerge branch 'release/v01.00.00' v01.00.00.00
Ajay Jayaraj [Fri, 25 May 2018 19:21:22 +0000 (14:21 -0500)]
Merge branch 'release/v01.00.00'

5 years agoUpdated manifest file from SRAS00005051
Ajay Jayaraj [Fri, 25 May 2018 19:15:15 +0000 (14:15 -0500)]
Updated manifest file from SRAS00005051

(MCT-961)

5 years agoDocumentation - additions and cleanup
Ajay Jayaraj [Thu, 24 May 2018 14:23:19 +0000 (09:23 -0500)]
Documentation - additions and cleanup

(MCT-990)

5 years agoAdd documentation for examples
Yuan Zhao [Wed, 23 May 2018 17:17:58 +0000 (12:17 -0500)]
Add documentation for examples

- MCT-982

5 years agolicense headers: updated year, added where missing
Ajay Jayaraj [Wed, 23 May 2018 15:58:45 +0000 (10:58 -0500)]
license headers: updated year, added where missing

(MCT-961)

5 years agoAdded version to tidl_viewer, build cleanup
Ajay Jayaraj [Mon, 21 May 2018 20:47:04 +0000 (15:47 -0500)]
Added version to tidl_viewer, build cleanup

(MCT-984)

5 years agoAdded manifest from SRAS00005051
Ajay Jayaraj [Mon, 21 May 2018 19:30:14 +0000 (14:30 -0500)]
Added manifest from SRAS00005051

(MCT-961)

5 years agoFixes for Klocwork issues
Ajay Jayaraj [Thu, 17 May 2018 21:58:47 +0000 (16:58 -0500)]
Fixes for Klocwork issues

(MCT-987)

5 years agoViewer - add layer indices to graph output
Ajay Jayaraj [Tue, 15 May 2018 14:43:33 +0000 (09:43 -0500)]
Viewer - add layer indices to graph output

(MCT-985)

5 years agoMakefile changes to fix linking errors
Yuan Zhao [Tue, 15 May 2018 14:32:10 +0000 (09:32 -0500)]
Makefile changes to fix linking errors

- MCT-984

5 years agoRename to TIDL
Ajay Jayaraj [Mon, 14 May 2018 17:57:24 +0000 (12:57 -0500)]
Rename to TIDL

* Replace references to TINN in the sources and directory structure with
TIDL or TIDL API
* Moved the TIDL network viewer (tidl_viewer) from utils to viewer

(MCT-983)

5 years agoDocumentation - renaming and additional content
Ajay Jayaraj [Thu, 10 May 2018 19:22:13 +0000 (14:22 -0500)]
Documentation - renaming and additional content

(MCT-981)

5 years agoReduce complexity of ssd_multibox example
Yuan Zhao [Fri, 11 May 2018 13:32:23 +0000 (08:32 -0500)]
Reduce complexity of ssd_multibox example

- Only support partitioned mode, remove single device mode
- Remove enableInternalInput mode due to no observable performance gain
- Make layersGroupId assignment part of Executor's construction
- MCT-974

5 years agoPartitioned execution of TI DL network
Yuan Zhao [Wed, 9 May 2018 22:31:04 +0000 (17:31 -0500)]
Partitioned execution of TI DL network

- Enable pipelined and partitioned execution of TIDL network
  by setting the same ArgInfo:
  - as the output of ExecutionObject for first  layersGroup
  - as the input  of ExecutionObject for second layersGroup
  See ssd_multibox for example.
- Enable internal input mode that intermediate results between
  different layersGroup no longer need to be saved in user
  application.
- Fixes for correct partitioned execution of TIDL network,
  e.g. dataQ needs to be passed between layersGroups
- MCT-969, MCT-974

5 years agoCompute input/output size based on network
Yuan Zhao [Tue, 8 May 2018 17:00:12 +0000 (12:00 -0500)]
Compute input/output size based on network

- MCT-974

5 years agoAnnotate graph with additional properties
Ajay Jayaraj [Wed, 9 May 2018 15:20:48 +0000 (10:20 -0500)]
Annotate graph with additional properties

* Additional layer specific annotations to nodes
* Generate SVG file if /usr/bin/dot is available
* Refactoring and cleanup

(MCT-975)

5 years agoUtility to dump TIDL networks to dot graphs
Ajay Jayaraj [Fri, 4 May 2018 22:30:11 +0000 (17:30 -0500)]
Utility to dump TIDL networks to dot graphs

(MCT-973)

5 years agoFixed color array initialization problem
Yuan Zhao [Fri, 4 May 2018 23:14:52 +0000 (18:14 -0500)]
Fixed color array initialization problem

- Fixed label/color mappings for ssd
- MCT-974

5 years agoAdd test images under CC0 license
Yuan Zhao [Fri, 4 May 2018 20:10:25 +0000 (15:10 -0500)]
Add test images under CC0 license

- https://www.pexels.com/photo-license/
- MCT-974

5 years agoAdd ssd_multibox example to tinn (Part 1)
Yuan Zhao [Thu, 3 May 2018 20:58:25 +0000 (15:58 -0500)]
Add ssd_multibox example to tinn (Part 1)

- Uses Single Shot Multibox Detector network in the example
- Implementation in part 1 runs a full network on a single device
- Add a separate object_class_table for labels and colors
- MCT-974

5 years agoUse malloc for user application buffer allocation
Yuan Zhao [Wed, 2 May 2018 19:40:03 +0000 (14:40 -0500)]
Use malloc for user application buffer allocation

- MCT-972 (follow-up cleanup)

5 years agoAdd segmentation example to tinn
Yuan Zhao [Tue, 1 May 2018 20:43:33 +0000 (15:43 -0500)]
Add segmentation example to tinn

- Also fixed relative path in config files
- MCT-972