tidl/tidl-api.git
3 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)

3 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)

3 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>
3 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)

3 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)

3 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

3 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'

3 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

3 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>
3 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

3 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

3 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'

3 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>
3 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>
3 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>
3 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

3 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)

3 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)

3 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

3 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)

3 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)

3 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)

3 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)

3 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

3 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

3 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'

3 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)

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

(MCT-990)

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

- MCT-982

3 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)

3 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)

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

(MCT-961)

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

(MCT-987)

3 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)

3 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

3 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)

3 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)

3 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

3 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

3 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

3 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)

3 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)

3 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

3 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

3 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

3 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)

3 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

3 years agoAdd imagenet example to tinn
Yuan Zhao [Tue, 17 Apr 2018 22:00:28 +0000 (17:00 -0500)]
Add imagenet example to tinn

- MCT-963

3 years agoRenamed namespace (tidl -> tinn), updated documentation
Ajay Jayaraj [Thu, 19 Apr 2018 18:27:36 +0000 (13:27 -0500)]
Renamed namespace (tidl -> tinn), updated documentation

(MCT-964)

3 years agoAdd version information to Makefile, API
Ajay Jayaraj [Tue, 17 Apr 2018 21:12:19 +0000 (16:12 -0500)]
Add version information to Makefile, API

* Added version information in tinn_api/Makefile
* Added Executor::GetAPIVersion()

(MCT-962)

3 years agoInitial commit
Ajay Jayaraj [Tue, 17 Apr 2018 14:58:17 +0000 (09:58 -0500)]
Initial commit

(MCT-958)