tidl/tidl-api.git
13 months agoMerge branch 'hotfix/v01.05.01' master v01.05.01
Yuan Zhao [Mon, 9 Mar 2020 16:36:45 +0000 (11:36 -0500)]
Merge branch 'hotfix/v01.05.01'

13 months agoAdd TIDL_SUBGRAPH_NUM_EVES env var
Yuan Zhao [Fri, 6 Mar 2020 22:47:32 +0000 (16:47 -0600)]
Add TIDL_SUBGRAPH_NUM_EVES env var

- Current subgraph implementation will initialize and use all available
  EVEs and DSPs, with streaming/batch inputs in mind.  There are cases
  we only need 1 EVE and 1 DSP, for example, demonstrating subgraph
  offloading on a single input.
  This commit adds an environment variable, TIDL_SUBGRAPH_NUM_EVES,
  to specify number of EVEs used for subgraph inferencing.
- MCT-1243

13 months agoStart hotfix v01.05.01
Yuan Zhao [Fri, 6 Mar 2020 22:37:35 +0000 (16:37 -0600)]
Start hotfix v01.05.01

13 months agoMerge branch 'release/v01.05.00' v01.05.00
Yuan Zhao [Fri, 28 Feb 2020 16:51:15 +0000 (10:51 -0600)]
Merge branch 'release/v01.05.00'

13 months agoUpdate version to 1.5.0 in manifest and docs
Yuan Zhao [Fri, 28 Feb 2020 15:53:48 +0000 (09:53 -0600)]
Update version to 1.5.0 in manifest and docs

13 months agoClean up required subgraph cfg file entries
Yuan Zhao [Tue, 18 Feb 2020 16:02:33 +0000 (10:02 -0600)]
Clean up required subgraph cfg file entries

- Added environment variable TIDL_SUBGRAPH_DIR for locating the
  subgraph config files.
- Updated documentation for subgraph runtime.
- MCT-1227

15 months agoreplace 2 dsp + 2 group layer use cases with 1 dsp
Caleb Robey [Tue, 7 Jan 2020 15:15:40 +0000 (09:15 -0600)]
replace 2 dsp + 2 group layer use cases with 1 dsp

reference to PLSDK-3189.

The BBAI only has enough CMEM for 4 EVEs, 1 DSP, and 2 group
layers. In the case of all of our networks, the difference between
1 and 2 dsps is essentially nonexistent.

The following is the benchmarks run side by side:

CMDLINE: ./mcbench -g 1 -d 2 -e 4 -c ../test/testvecs/config/ CMDLINE: ./mcbench -g 1 -d 2 -e 4 -c ../test/testvecs/config/
Input: ../test/testvecs/input/preproc_0_224x224_multi.y frame Input: ../test/testvecs/input/preproc_0_224x224_multi.y frame
Loop total time:   1189ms Loop total time:   1189ms
FPS:42.06 FPS:42.06
mcbench PASSED mcbench PASSED
CMDLINE: ./mcbench -g 1 -d 2 -e 4 -c ../test/testvecs/config/ CMDLINE: ./mcbench -g 1 -d 2 -e 4 -c ../test/testvecs/config/
Input: ../test/testvecs/input/preproc_0_224x224_multi.y frame Input: ../test/testvecs/input/preproc_0_224x224_multi.y frame
Loop total time:   3066ms Loop total time:   3066ms
FPS:16.31 FPS:16.31
mcbench PASSED mcbench PASSED
CMDLINE: ./mcbench -g 2 -d 1 -e 4 -c ../test/testvecs/config/ | CMDLINE: ./mcbench -g 2 -d 2 -e 4 -c ../test/testvecs/config/
Input: ../test/testvecs/input/preproc_2_224x224_multi.y frame Input: ../test/testvecs/input/preproc_2_224x224_multi.y frame
Loop total time:   1822ms       | Loop total time:   1835ms
FPS:27.44       | FPS:27.24
mcbench PASSED mcbench PASSED
CMDLINE: ./mcbench -g 2 -d 1 -e 4 -c ../test/testvecs/config/ | CMDLINE: ./mcbench -g 2 -d 2 -e 4 -c ../test/testvecs/config/
Input: ../test/testvecs/input/preproc_2_224x224_multi.y frame Input: ../test/testvecs/input/preproc_2_224x224_multi.y frame
Loop total time:   1823ms       | Loop total time:   1841ms
FPS:27.42       | FPS:27.16
mcbench PASSED mcbench PASSED
CMDLINE: ./mcbench -g 2 -d 1 -e 4 -c ../test/testvecs/config/ | CMDLINE: ./mcbench -g 2 -d 2 -e 4 -c ../test/testvecs/config/
Input: ../test/testvecs/input/preproc_2_224x224_multi.y frame Input: ../test/testvecs/input/preproc_2_224x224_multi.y frame
Loop total time:   1793ms       | Loop total time:   1817ms
FPS:27.89       | FPS:27.52
mcbench PASSED mcbench PASSED
CMDLINE: ./mcbench -g 2 -d 1 -e 4 -c ../test/testvecs/config/ | CMDLINE: ./mcbench -g 2 -d 2 -e 4 -c ../test/testvecs/config/
Input: ../test/testvecs/input/preproc_0_224x224_multi.y frame Input: ../test/testvecs/input/preproc_0_224x224_multi.y frame
Loop total time:   4269ms       | Loop total time:   4285ms
FPS:11.71       | FPS:11.67
mcbench PASSED mcbench PASSED
CMDLINE: ./mcbench -g 2 -d 1 -e 4 -c ../test/testvecs/config/ | CMDLINE: ./mcbench -g 2 -d 2 -e 4 -c ../test/testvecs/config/
Input: ../test/testvecs/input/preproc_0_224x224_multi.y frame Input: ../test/testvecs/input/preproc_0_224x224_multi.y frame
Loop total time:  892.9ms       | Loop total time:    915ms
FPS:55.99       | FPS:54.64
mcbench PASSED mcbench PASSED
CMDLINE: ./mcbench -g 2 -d 1 -e 4 -c ../test/testvecs/config/ | CMDLINE: ./mcbench -g 2 -d 2 -e 4 -c ../test/testvecs/config/
Input: ../test/testvecs/input/preproc_0_224x224_multi.y frame Input: ../test/testvecs/input/preproc_0_224x224_multi.y frame
Loop total time:   2008ms       | Loop total time:   2014ms
FPS:24.9       | FPS:24.82
mcbench PASSED mcbench PASSED

15 months agoMinor version update in docs
Yuan Zhao [Mon, 30 Dec 2019 21:21:04 +0000 (15:21 -0600)]
Minor version update in docs

15 months agoFix versioning for shared libary
Yuan Zhao [Thu, 12 Dec 2019 23:14:37 +0000 (17:14 -0600)]
Fix versioning for shared libary

- by putting proper SONAME in built shared libraries.
- MCT-1231

16 months agoMerge tag 'v01.04.00' into develop
Yuan Zhao [Sun, 8 Dec 2019 05:45:31 +0000 (23:45 -0600)]
Merge tag 'v01.04.00' into develop

TIDL-API v01.04.00 for Processor SDK 6.2

16 months agoMerge branch 'release/v01.04.00' v01.04.00
Yuan Zhao [Sun, 8 Dec 2019 05:44:50 +0000 (23:44 -0600)]
Merge branch 'release/v01.04.00'

16 months agoUpdate changelog for v01.04.00 release
Yuan Zhao [Sun, 8 Dec 2019 05:32:14 +0000 (23:32 -0600)]
Update changelog for v01.04.00 release

16 months agomcbench: Adjust network heap sizes, so that all test cases can fit into CMEM of 384MB
Djordje Senicic [Wed, 27 Nov 2019 23:28:14 +0000 (18:28 -0500)]
mcbench: Adjust network heap sizes, so that all test cases can fit into CMEM of 384MB

Signed-off-by: Djordje Senicic <x0157990@ti.com>
16 months agoexamples:classification: Detect number of EVEs, DSPs and CMEM size on SoC
Djordje Senicic [Wed, 27 Nov 2019 23:26:27 +0000 (18:26 -0500)]
examples:classification: Detect number of EVEs, DSPs and CMEM size on SoC

Signed-off-by: Djordje Senicic <x0157990@ti.com>
16 months agomcbench: Add test cases for AM5729
Djordje Senicic [Wed, 27 Nov 2019 17:52:47 +0000 (12:52 -0500)]
mcbench: Add test cases for AM5729

- Add one line of comment in each script, to indicate SoC used with specific the script
- Add all_5729.sh, script with benchmarking test cases for AM5729 device, 2xDSP+4xEVE
- PLSDK-3140

Signed-off-by: Djordje Senicic <x0157990@ti.com>
16 months agoBump up develop branch version to 1.5.0
Yuan Zhao [Mon, 25 Nov 2019 17:43:00 +0000 (11:43 -0600)]
Bump up develop branch version to 1.5.0

16 months agoSubgraph: use Layer2Group map in config file
Yuan Zhao [Mon, 25 Nov 2019 01:58:14 +0000 (19:58 -0600)]
Subgraph: use Layer2Group map in config file

- If Layer2Group map exists in subgraph config file, use it.
  Otherwise, try derive the map from network layer types.
- Added TidlFreeSubgraph() for subgraph resource de-allocation
- Code changes based on review comments.
- MCT-1223

16 months agoSubgraph example: multi-threaded batch processing
Yuan Zhao [Thu, 21 Nov 2019 05:38:12 +0000 (23:38 -0600)]
Subgraph example: multi-threaded batch processing

- Compared different batch size in subgraph execution example
- Compared async/future implementation vs thread pool implementation,
  async/future has slightly worse (~1%) performance,
  but it is much easier to program
- Recommended inference is multi-threaded batch processing, where
  batch_size can be obtained from TidlGetPreferredBatchSize(),
  number of threads can be set to 2.
- MCT-1223

16 months agoParse data conversion info from subgraph config
Yuan Zhao [Wed, 20 Nov 2019 17:30:35 +0000 (11:30 -0600)]
Parse data conversion info from subgraph config

- MCT-1224

17 months agoSubgraph: support batch processing
Yuan Zhao [Thu, 31 Oct 2019 20:17:38 +0000 (15:17 -0500)]
Subgraph: support batch processing

- MCT-1223

17 months agoSubgraph: add a mobilenet v1 example
Yuan Zhao [Thu, 31 Oct 2019 03:02:26 +0000 (22:02 -0500)]
Subgraph: add a mobilenet v1 example

- Using the TidlRunSubgraph() interface

17 months agoSubgraph: add top level API TidlRunSubgraph
Yuan Zhao [Thu, 31 Oct 2019 02:56:39 +0000 (21:56 -0500)]
Subgraph: add top level API TidlRunSubgraph

- TidlRunSubgraph() should be the interface function that TVM/TFLite
  calls to offload subgraph to TIDL
- MCT-1222

17 months agoSubgraph data conversion at boundaries
Yuan Zhao [Tue, 29 Oct 2019 07:14:54 +0000 (02:14 -0500)]
Subgraph data conversion at boundaries

- Data layout: NCHW <-> NHWC
- Data type: 8-bit quantized <-> float
- MCT-1222

17 months agoSubgraph offloading to TIDL: first commit
Yuan Zhao [Wed, 23 Oct 2019 19:21:09 +0000 (14:21 -0500)]
Subgraph offloading to TIDL: first commit

- ResM class provides top level encapsulation
- All allocation of core resources and buffers, and all creation of
  Executor, ExecutionObject, ExecutionObjectPipeline are encapsulated.
- Auto-partition last few layers to DSP if profitable, also encapsulated.
- MCT-1223, MCT-1224

18 months agoMerge tag 'v01.03.03' into develop
Yuan Zhao [Mon, 30 Sep 2019 14:41:54 +0000 (09:41 -0500)]
Merge tag 'v01.03.03' into develop

TIDL-API 1.3.3 for PSDK 6.1

18 months agoMerge branch 'hotfix/v01.03.03' v01.03.03
Yuan Zhao [Mon, 30 Sep 2019 14:39:55 +0000 (09:39 -0500)]
Merge branch 'hotfix/v01.03.03'

18 months agoUpdate the changelog
Yuan Zhao [Fri, 27 Sep 2019 21:34:32 +0000 (16:34 -0500)]
Update the changelog

18 months agoRevert "Adjust example heap sizes with new TIDL library"
Yuan Zhao [Fri, 27 Sep 2019 20:40:26 +0000 (15:40 -0500)]
Revert "Adjust example heap sizes with new TIDL library"

This reverts commit c3786ddb01e187a983811d1cd3e08f6dfa20dd2e.

18 months agoRevert "More example sizes adjustment with new TIDL lib"
Yuan Zhao [Fri, 27 Sep 2019 20:36:58 +0000 (15:36 -0500)]
Revert "More example sizes adjustment with new TIDL lib"

This reverts commit 268aecd993dec4faec1a414d6aac4c43b0c059ed.

18 months agomcbench: Add MobileNetV2 test cases
Djordje Senicic [Fri, 27 Sep 2019 19:52:49 +0000 (15:52 -0400)]
mcbench: Add MobileNetV2 test cases

- PLSDK-3078

Signed-off-by: Djordje Senicic <x0157990@ti.com>
18 months agoStart hotfix v01.03.03
Yuan Zhao [Fri, 27 Sep 2019 19:43:51 +0000 (14:43 -0500)]
Start hotfix v01.03.03

18 months agoMerge tag 'v01.03.02' into develop
Yuan Zhao [Mon, 16 Sep 2019 19:53:15 +0000 (14:53 -0500)]
Merge tag 'v01.03.02' into develop

TIDL-API 1.3.2 for Processor SDK 6.1

18 months agoMerge branch 'hotfix/v01.03.02' v01.03.02
Yuan Zhao [Mon, 16 Sep 2019 19:52:06 +0000 (14:52 -0500)]
Merge branch 'hotfix/v01.03.02'

TIDL-API 1.3.2 for Processor SDK 6.1

18 months agoFix min OpenCL version to 1.1.19.00
Yuan Zhao [Mon, 16 Sep 2019 19:36:36 +0000 (14:36 -0500)]
Fix min OpenCL version to 1.1.19.00

- MCT-1221

18 months agoAdded double quotes "" to input data file
Jianzhong Xu [Mon, 16 Sep 2019 16:16:26 +0000 (12:16 -0400)]
Added double quotes "" to input data file

18 months agoPLSDK-2956: add MobileNetV2 model (.bin files) and inference config files
Jianzhong Xu [Mon, 16 Sep 2019 13:40:28 +0000 (09:40 -0400)]
PLSDK-2956: add MobileNetV2 model (.bin files) and inference config files

18 months agoFix classification example for tensorflow models
Yuan Zhao [Thu, 12 Sep 2019 22:06:58 +0000 (17:06 -0500)]
Fix classification example for tensorflow models

- Copy original image to show image before pre-processing, because
  pre-processing will change BGR to RGB for tensorflow models
- Subtract 1 from output object class index, because tensorflow outputs
  1001 bytes and uses index-0 for background.  Regular imagenet labels
  only have 1000 entries.
- Fix path to inceptionnet net and params binaries in the config file.
- MCT-1221

18 months agoPLSDK-2986: Calibrate TIDL models for TF with correct raw image (preproc type 2).
Jianzhong Xu [Thu, 12 Sep 2019 13:42:28 +0000 (09:42 -0400)]
PLSDK-2986: Calibrate TIDL models for TF with correct raw image (preproc type 2).

19 months agoStart hotfix v01.03.02
Yuan Zhao [Mon, 9 Sep 2019 17:03:48 +0000 (12:03 -0500)]
Start hotfix v01.03.02

19 months agoMerge tag 'v01.03.01' into develop
Yuan Zhao [Fri, 6 Sep 2019 21:45:16 +0000 (16:45 -0500)]
Merge tag 'v01.03.01' into develop

TIDL-API 1.3.1 for Processor SDK 6.1

19 months agoMerge branch 'release/v01.03.01' v01.03.01
Yuan Zhao [Fri, 6 Sep 2019 21:44:40 +0000 (16:44 -0500)]
Merge branch 'release/v01.03.01'

TIDL-API 1.3.1 for Processor SDK 6.1

19 months agoMore example sizes adjustment with new TIDL lib
Yuan Zhao [Thu, 5 Sep 2019 20:40:36 +0000 (15:40 -0500)]
More example sizes adjustment with new TIDL lib

- MCT-1217

19 months agoUpdate changelog for version 1.3.1
Yuan Zhao [Tue, 3 Sep 2019 20:39:40 +0000 (15:39 -0500)]
Update changelog for version 1.3.1

19 months agoUpdate TIDL-API manifest for version 1.3.1
Yuan Zhao [Tue, 3 Sep 2019 16:37:08 +0000 (11:37 -0500)]
Update TIDL-API manifest for version 1.3.1

19 months agoUpdate squeeze net reference output
Yuan Zhao [Tue, 3 Sep 2019 15:58:18 +0000 (10:58 -0500)]
Update squeeze net reference output

- 6 out of 1000 outputs changed with the newly imported network

19 months agoPLSDK-2986: update TIDL models for mobilenetV1, inceptionNetV1, squeezeNetV1.
Jianzhong Xu [Fri, 30 Aug 2019 21:32:58 +0000 (17:32 -0400)]
PLSDK-2986: update TIDL models for mobilenetV1, inceptionNetV1, squeezeNetV1.

19 months agoAdjust example heap sizes with new TIDL library
Yuan Zhao [Fri, 30 Aug 2019 19:14:31 +0000 (14:14 -0500)]
Adjust example heap sizes with new TIDL library

- The latest TIDL library increased memory requirement slightly.
  Adjust heap sizes in the examples accordingly.
- MCT-1217

19 months agoBump develop branch to version 1.4.0
Yuan Zhao [Fri, 30 Aug 2019 18:11:12 +0000 (13:11 -0500)]
Bump develop branch to version 1.4.0

19 months agoPrint out imagenet object index in imagenet example
Yuan Zhao [Wed, 28 Aug 2019 21:28:18 +0000 (16:28 -0500)]
Print out imagenet object index in imagenet example

- The object index is helpful information, in addition to text label
  that has already been printed out.
- Offset tensorflow model output by 1 to remove backgroup index
- MCT-1216

19 months agoControl heap size and alloc opt using env vars
Yuan Zhao [Tue, 27 Aug 2019 18:56:02 +0000 (13:56 -0500)]
Control heap size and alloc opt using env vars

- TIDL_PARAM_HEAP_SIZE_EVE, TIDL_PARAM_HEAP_SIZE_DSP,
  TIDL_NETWORK_HEAP_SIZE_EVE, TIDL_NETWORK_HEAP_SIZE_DSP,
  TIDL_EXTMEM_ALLOC_OPT_EVE, TIDL_EXTMEM_ALLOC_OPT_DSP
  are provided to overwrite the heap sizes and heap allocation optimization
  level (1 or 2) that are specified by default or by application.
- MCT-1215

19 months agoChange develop version to 1.3.1 for patch release
Yuan Zhao [Mon, 26 Aug 2019 14:56:57 +0000 (09:56 -0500)]
Change develop version to 1.3.1 for patch release

20 months agoUpdate network binary in TIDL-API to new format
Yuan Zhao [Sun, 28 Jul 2019 05:17:44 +0000 (00:17 -0500)]
Update network binary in TIDL-API to new format

- New network format corresponds to the network data structure update,
  where strideOffsetMethod field moved from sTIDL_Network_t to sTIDL_Layer_t.
  Old format is 483364 bytes, new format is 484384 bytes.
- Relates to: commit 49401e64374a4f0999479245dcd01eab38bec304, MCT-1136
- MCT-1203

21 months agoAdd ssd_multibox_fullnet example
Yuan Zhao [Wed, 26 Jun 2019 14:36:54 +0000 (09:36 -0500)]
Add ssd_multibox_fullnet example

- To demonstrate running jdenet/jdetnet_voc on a single core,
  without paritioning the network.  This is useful for situations
  where SoC only has C66x cores but not EVE cores.
- MCT-1202

21 months agoDump dataQ/minValue/maxValue for TIDL trace
Yuan Zhao [Wed, 19 Jun 2019 15:40:22 +0000 (10:40 -0500)]
Dump dataQ/minValue/maxValue for TIDL trace

- MCT-1201

21 months agoFix g++ 8.3.0 compilation error
Yuan Zhao [Thu, 20 Jun 2019 17:01:24 +0000 (12:01 -0500)]
Fix g++ 8.3.0 compilation error

- Fix a syntax allowed in g++ 7.2.1 (PSDK5.3) but not in 8.3.0 (PSDK6.0)
- Make should report error from loop
- MCT-1199

21 months agoAdd imagenet python example
Yuan Zhao [Tue, 11 Jun 2019 14:37:03 +0000 (09:37 -0500)]
Add imagenet python example

- Show how to interface with EO/EOP's input/output buffer in python.
- Show how to use OpenCV to read and transform image,
  and how to process imagenet's output data.
- Fix EOP construction in examples
- MCT-1197

22 months agoFix unique_ptr that holds an allocated array
Yuan Zhao [Mon, 10 Jun 2019 20:12:03 +0000 (15:12 -0500)]
Fix unique_ptr that holds an allocated array

- Customer reported this problem.  unique_ptr that holds an allocated
  array was created as "unique_ptr<char>", which will call "delete"
  at destruction.  However, the array was created with "new char[]".
  The proper way should be "unique_ptr<char[]>", so that "delete []"
  will be called at destrution.
- One minor trace message update so that we know which type of device
  is being dispatched to.
- MCT-1196

2 years agoUse DSP Built-in Kernels in TIDL-API
Yuan Zhao [Tue, 12 Mar 2019 17:34:56 +0000 (12:34 -0500)]
Use DSP Built-in Kernels in TIDL-API

- Replace previously used kernel wrappers
- MCT-1143, MCT-1154

2 years agoMerge tag 'v01.03.00' into develop
Yuan Zhao [Mon, 4 Mar 2019 21:57:04 +0000 (15:57 -0600)]
Merge tag 'v01.03.00' into develop

TIDL-API 01.03.00 for Processor SDK 5.3

2 years agoMerge branch 'release/v01.03.00' v01.03.00
Yuan Zhao [Mon, 4 Mar 2019 21:56:34 +0000 (15:56 -0600)]
Merge branch 'release/v01.03.00'

2 years agoUpdate TIDL network data structure
Yuan Zhao [Thu, 28 Feb 2019 16:41:04 +0000 (10:41 -0600)]
Update TIDL network data structure

- To be in sync with TIDL library and TIDL import utility
- strideOffsetMethod field moved from sTIDL_Network_t to sTIDL_Layer_t
- Add ReadNetworkBinary util that can read both network formats,
  so that TIDL-API can be compatible with both old and new formats
- Update reference network output due to updated TIDL library
- MCT-1136

2 years ago[segmentation] Add video clip autorewind
Djordje Senicic [Mon, 4 Mar 2019 12:43:58 +0000 (07:43 -0500)]
[segmentation] Add video clip autorewind

Signed-off-by: Djordje Senicic <x0157990@ti.com>
2 years ago[segmentation] Add sample clip with traffic scenes (from pixabay)
Djordje Senicic [Mon, 4 Mar 2019 10:53:38 +0000 (05:53 -0500)]
[segmentation] Add sample clip with traffic scenes (from pixabay)

Signed-off-by: Djordje Senicic <x0157990@ti.com>
2 years agoUpdate documentation for TIDL-API 1.3.0
Yuan Zhao [Fri, 1 Mar 2019 22:14:37 +0000 (16:14 -0600)]
Update documentation for TIDL-API 1.3.0

- MCT-1136

2 years agoClean up ssd_multibox changes
Yuan Zhao [Fri, 1 Mar 2019 17:41:34 +0000 (11:41 -0600)]
Clean up ssd_multibox changes

- PLSDK-2597

2 years ago[ssd_multibox] Addressing review comments
Djordje Senicic [Thu, 28 Feb 2019 17:03:28 +0000 (12:03 -0500)]
[ssd_multibox] Addressing review comments

Signed-off-by: Djordje Senicic <x0157990@ti.com>
2 years agoBump develop branch version to 1.4.0
Yuan Zhao [Thu, 28 Feb 2019 16:59:41 +0000 (10:59 -0600)]
Bump develop branch version to 1.4.0

2 years agoPLSDK-2597
Djordje Senicic [Thu, 28 Feb 2019 13:47:43 +0000 (08:47 -0500)]
PLSDK-2597
  - SSD_Multibox: updated to include slider for run-time probability modification
  - SSD_Multibox: skip grabbing frame input multiple times, as real-time would very based on multicore configuration and network complexity
  - SSD_Multibox: resize and central cropping added; instead of showing rectangles in original image, network input is presented
  - Classification: Toydogs configuration added including models

Signed-off-by: Djordje Senicic <x0157990@ti.com>
2 years agoEnable DSP out-of-order execution in TIDL-API
Yuan Zhao [Fri, 28 Dec 2018 18:06:29 +0000 (12:06 -0600)]
Enable DSP out-of-order execution in TIDL-API

- MCT-1108

2 years agoEnable MNIST example on DSP
Yuan Zhao [Wed, 19 Dec 2018 16:53:18 +0000 (10:53 -0600)]
Enable MNIST example on DSP

- It turns out DSP implementation of InnerProduct layer in TIDL library
  requires input size to be multiple of 8, because it is doing
  aligned 8-byte loads.
- Original LeNet network used in the MNIST example has a second InnerProduct
  layer of size 500, which is not a multiple of 8.  Change the size to 504,
  re-train the network, re-import into TIDL format.  Now the MNIST example
  works correctly on DSP as well.
- MCT-1105

2 years agoMerge tag 'v01.02.02' into develop
Ajay Jayaraj [Wed, 12 Dec 2018 14:10:20 +0000 (08:10 -0600)]
Merge tag 'v01.02.02' into develop

2 years agoMerge branch 'hotfix/v01.02.02' v01.02.02
Ajay Jayaraj [Wed, 12 Dec 2018 14:09:23 +0000 (08:09 -0600)]
Merge branch 'hotfix/v01.02.02'

2 years agoFix memory leak in classification example
Yuan Zhao [Tue, 11 Dec 2018 14:59:22 +0000 (08:59 -0600)]
Fix memory leak in classification example

- MCT-1101

2 years agoclassification: Modify configuration structure to runFullNet before calling construct...
Djordje Senicic [Fri, 7 Dec 2018 12:40:36 +0000 (07:40 -0500)]
classification: Modify configuration structure to runFullNet before calling constructor for Execution Object

Signed-off-by: Djordje Senicic <x0157990@ti.com>
2 years agoUpdated patch version to 2 (TIDL API 1.2.2)
Ajay Jayaraj [Fri, 7 Dec 2018 17:35:46 +0000 (11:35 -0600)]
Updated patch version to 2 (TIDL API 1.2.2)

2 years agoMerge tag 'v01.02.01' into develop
Ajay Jayaraj [Thu, 6 Dec 2018 17:36:50 +0000 (11:36 -0600)]
Merge tag 'v01.02.01' into develop

2 years agoMerge branch 'hotfix/v01.02.01' v01.02.01
Ajay Jayaraj [Thu, 6 Dec 2018 17:35:48 +0000 (11:35 -0600)]
Merge branch 'hotfix/v01.02.01'

2 years agotidl-viewer: Remove executor.h inclusion in utils.cpp
Ajay Jayaraj [Thu, 6 Dec 2018 17:00:35 +0000 (11:00 -0600)]
tidl-viewer: Remove executor.h inclusion in utils.cpp

One of the files in the tidl-viewer build, utils.cpp, was updated to include
executor.h.  This header in turn includes a file from OpenCL, custom.h.

The yocto build of tidl-viewer is a native recipe and hence cannot
include opencl recipes as a dependency to obtain custom.h.

This commit updates utils.cpp to remove the include of executor.h and
custom.h.
(MCT-1100)

2 years agoMerge tag 'v01.02.00' into develop
Ajay Jayaraj [Wed, 28 Nov 2018 23:11:04 +0000 (17:11 -0600)]
Merge tag 'v01.02.00' into develop

2 years agoMerge branch 'release/v01.02.00' v01.02.00
Ajay Jayaraj [Wed, 28 Nov 2018 23:09:41 +0000 (17:09 -0600)]
Merge branch 'release/v01.02.00'

2 years agoAdd jdetnet_voc network and make it the default
Yuan Zhao [Wed, 28 Nov 2018 21:25:57 +0000 (15:25 -0600)]
Add jdetnet_voc network and make it the default

- jdetnet_voc is trained with more object categories than original
  jdetnet.  Make jdetnet_voc the default in the ssd example.  User can
  still use command line options to run the original jdetnet network.
- MCT-1091

2 years agoUpdate imagenet example with new softmax output
Yuan Zhao [Tue, 27 Nov 2018 23:36:44 +0000 (17:36 -0600)]
Update imagenet example with new softmax output

- MCT-1089

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

2 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

2 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

2 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

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

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

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

2 years agoUpdated version on develop to 1.3.0
Ajay Jayaraj [Wed, 14 Nov 2018 17:18:11 +0000 (11:18 -0600)]
Updated version on develop to 1.3.0

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

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

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

2 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

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

2 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.

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

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