Merge tag 'v01.03.03' into develop
authorYuan Zhao <yuanzhao@ti.com>
Mon, 30 Sep 2019 14:41:54 +0000 (09:41 -0500)
committerYuan Zhao <yuanzhao@ti.com>
Mon, 30 Sep 2019 14:41:54 +0000 (09:41 -0500)
TIDL-API 1.3.3 for PSDK 6.1

12 files changed:
docs/source/changelog.rst
docs/source/example.rst
examples/mcbench/scripts/all_5728.sh
examples/mcbench/scripts/all_5749.sh
examples/one_eo_per_frame/main.cpp
examples/pybind/imagenet.py
examples/pybind/one_eo_per_frame.py
examples/pybind/two_eo_per_frame.py
examples/pybind/two_eo_per_frame_opt.py
examples/ssd_multibox/main.cpp
examples/two_eo_per_frame/main.cpp
examples/two_eo_per_frame_opt/main.cpp

index e170f5e7e09406ea9cf9bbe7a3cd081619bdd5ce..ed333978b56e5caeb47355060e1dab432a21c12b 100644 (file)
@@ -2,12 +2,14 @@
 Changelog
 #########
 
-1.3.1 [Processor Linux SDK 6.1]
+1.3.3 [Processor Linux SDK 6.1]
 ===============================
 **Added**
 
 #. Added imagenet python example.
 
+#. Added MobileNet v2 support.
+
 **Changed**
 
 #. Trace data now also include dataQ/minValue/maxValue info.
index 669020fe8345a5a00e8553344617257f5050fb9c..9c696ad8b6cc0f3bf301cc754c7f0747ec640db9 100644 (file)
@@ -276,10 +276,6 @@ versus ExecutionObject level.
 When there is a requirement to run the SSD networks non-partitioned,
 for example, the SoC only has C66x cores but not EVE cores,
 use ``-e 0`` to run the full network only on C66x cores, without partitioning.
-When running full network with C66x DSP cores, jdetnet works fine with default
-heap sizes.  jdetnet_voc requires slightly larger heap size and can be run
-with environment variable, e.g.
-``TIDL_NETWORK_HEAP_SIZE_DSP=75000000 ./ssd_multibox -d 1 -e 0``.
 
 .. _mnist-example:
 
index 588971b9f140fe0fcb240888c48102d778684179..ed996be161727dbea9d418da19a38e42a0bbb1cb 100755 (executable)
@@ -1,4 +1,5 @@
-./mcbench -g 1 -d 2 -e 0 -c ../test/testvecs/config/infer/tidl_config_mobileNet1.txt -f 50 -i ../test/testvecs/input/preproc_0_224x224_multi.y
+./mcbench -g 1 -d 2 -e 0 -c ../test/testvecs/config/infer/tidl_config_mobileNet1.txt -f 50 -i ../test/testvecs/input/preproc_2_224x224_multi.y
+./mcbench -g 1 -d 2 -e 0 -c ../test/testvecs/config/infer/tidl_config_mobileNet2.txt -f 50 -i ../test/testvecs/input/preproc_2_224x224_multi.y
 ./mcbench -g 1 -d 2 -e 0 -c ../test/testvecs/config/infer/tidl_config_squeeze1_1.txt -f 50 -i ../test/testvecs/input/preproc_1_227x227_multi.y
 ./mcbench -g 1 -d 2 -e 0 -c ../test/testvecs/config/infer/tidl_config_inceptionNetv1.txt -f 50 -i ../test/testvecs/input/preproc_0_224x224_multi.y
 ./mcbench -g 1 -d 2 -e 0 -c ../test/testvecs/config/infer/tidl_config_j11_v2.txt -f 50 -i ../test/testvecs/input/preproc_0_224x224_multi.y
index 98f1f247216fc35a58a325fe702a1e36e8100d52..89563734f77afa6e95c082c15c6c8e445db78236 100755 (executable)
@@ -1,6 +1,9 @@
-./mcbench -g 1 -d 0 -e 2 -c ../test/testvecs/config/infer/tidl_config_mobileNet1.txt -f 50 -i ../test/testvecs/input/preproc_0_224x224_multi.y
-./mcbench -g 1 -d 2 -e 0 -c ../test/testvecs/config/infer/tidl_config_mobileNet1.txt -f 50 -i ../test/testvecs/input/preproc_0_224x224_multi.y
-./mcbench -g 2 -d 1 -e 2 -c ../test/testvecs/config/infer/tidl_config_mobileNet1_lg2.txt -f 50 -i ../test/testvecs/input/preproc_0_224x224_multi.y
+./mcbench -g 1 -d 0 -e 2 -c ../test/testvecs/config/infer/tidl_config_mobileNet1.txt -f 50 -i ../test/testvecs/input/preproc_2_224x224_multi.y
+./mcbench -g 1 -d 2 -e 0 -c ../test/testvecs/config/infer/tidl_config_mobileNet1.txt -f 50 -i ../test/testvecs/input/preproc_2_224x224_multi.y
+./mcbench -g 2 -d 1 -e 2 -c ../test/testvecs/config/infer/tidl_config_mobileNet1_lg2.txt -f 50 -i ../test/testvecs/input/preproc_2_224x224_multi.y
+./mcbench -g 1 -d 0 -e 2 -c ../test/testvecs/config/infer/tidl_config_mobileNet2.txt -f 50 -i ../test/testvecs/input/preproc_2_224x224_multi.y
+./mcbench -g 1 -d 2 -e 0 -c ../test/testvecs/config/infer/tidl_config_mobileNet2.txt -f 50 -i ../test/testvecs/input/preproc_2_224x224_multi.y
+./mcbench -g 2 -d 1 -e 2 -c ../test/testvecs/config/infer/tidl_config_mobileNet2_lg2.txt -f 50 -i ../test/testvecs/input/preproc_2_224x224_multi.y
 ./mcbench -g 1 -d 0 -e 2 -c ../test/testvecs/config/infer/tidl_config_squeeze1_1.txt -f 50 -i ../test/testvecs/input/preproc_1_227x227_multi.y
 ./mcbench -g 1 -d 2 -e 0 -c ../test/testvecs/config/infer/tidl_config_squeeze1_1.txt -f 50 -i ../test/testvecs/input/preproc_1_227x227_multi.y
 ./mcbench -g 1 -d 0 -e 2 -c ../test/testvecs/config/infer/tidl_config_inceptionNetv1.txt -f 50 -i ../test/testvecs/input/preproc_0_224x224_multi.y
index 2665bb6f5718184106efdc67cf1b7bb1bd50f5b3..8872c06438d3aed18c54d8ebbcbd0bcf6fa320cd 100644 (file)
@@ -100,9 +100,7 @@ bool Run(const string& config_file, int num_eve, int num_dsp,
 
     // Heap sizes for this network determined using Configuration::showHeapStats
     c.PARAM_HEAP_SIZE   = (3 << 20); // 3MB
-    c.NETWORK_HEAP_SIZE = (34 << 20); // 34MB
-    // AM572x default CMEM size is 160MB, 4 EVEs + 2DSPs won't fit
-    if (num_eve > 2)  num_eve = 2;
+    c.NETWORK_HEAP_SIZE = (20 << 20); // 20MB
 
     c.numFrames = 16;
 
index 4d83bbe711a0c5050d0c0523a6740a3ea6bb7dc4..f249c09d7e0cbb892627cccf49b137d608fa8ac3 100755 (executable)
@@ -111,7 +111,7 @@ def run(num_eve, num_dsp, configuration, labels_file):
 
     # Heap sizes for this network determined using Configuration.showHeapStats
     configuration.param_heap_size = (3 << 20)
-    configuration.network_heap_size = (34 << 20)
+    configuration.network_heap_size = (20 << 20)
 
 
     try:
index dda97127efad53180013e7b3660b38bd09751a29..81c9e220f1d71f41c0f1236b75dcc901269a6de5 100755 (executable)
@@ -54,9 +54,6 @@ def main():
 
     num_dsp = Executor.get_num_devices(DeviceType.DSP)
     num_eve = Executor.get_num_devices(DeviceType.EVE)
-    # AM572x default CMEM size is 160MB, 4 EVEs + 2DSPs won't fit
-    if num_eve > 2:
-        num_eve = 2
 
     if num_dsp == 0 and num_eve == 0:
         print('No TIDL API capable devices available')
@@ -96,7 +93,7 @@ def run(num_eve, num_dsp, configuration):
 
     # Heap sizes for this network determined using Configuration.showHeapStats
     configuration.param_heap_size = (3 << 20)
-    configuration.network_heap_size = (34 << 20)
+    configuration.network_heap_size = (20 << 20)
 
     try:
         print('TIDL API: performing one time initialization ...')
index 6090d7bff7e70ffa05f5af4c518aae52ca5a0fe8..953c691efb62921905f744be3e6d51091d49d199 100755 (executable)
@@ -55,13 +55,10 @@ def main():
 
     # Heap sizes for this network determined using Configuration.showHeapStats
     configuration.param_heap_size = (3 << 20)
-    configuration.network_heap_size = (34 << 20)
+    configuration.network_heap_size = (20 << 20)
 
     num_dsp = Executor.get_num_devices(DeviceType.DSP)
     num_eve = Executor.get_num_devices(DeviceType.EVE)
-    # AM572x default CMEM size is 160MB, 4 EVEs + 2DSPs won't fit
-    if num_eve > 2:
-        num_eve = 2
 
     if num_dsp == 0 or num_eve == 0:
         print('This example requires EVEs and DSPs.')
index 120251150999a56da65326dd44e833f4476f1eeb..28195558346d3350ddee5015f09094b5a82cdd29 100755 (executable)
@@ -51,13 +51,10 @@ def main():
 
     # Heap sizes for this network determined using Configuration.showHeapStats
     configuration.param_heap_size = (3 << 20)
-    configuration.network_heap_size = (34 << 20)
+    configuration.network_heap_size = (20 << 20)
 
     num_dsp = Executor.get_num_devices(DeviceType.DSP)
     num_eve = Executor.get_num_devices(DeviceType.EVE)
-    # AM572x default CMEM size is 160MB, 4 EVEs + 2DSPs won't fit
-    if num_eve > 2:
-        num_eve = 2
 
     if num_dsp == 0 or num_eve == 0:
         print('This example requires EVEs and DSPs.')
index eaa61bd2d40708f7352a49b7c00eae62a7f4bbc9..93f4c89ab5b3aa94d4e36def357d3a7f4dbe1123 100644 (file)
@@ -166,9 +166,6 @@ bool RunConfiguration(const cmdline_opts_t& opts)
     c.enableApiTrace = opts.verbose;
     if (opts.num_eves == 0 || opts.num_dsps == 0)
         c.runFullNet = true;
-    // DSP only execution requires larger NETWORK HEAP size
-    if (opts.num_eves == 0)
-        c.NETWORK_HEAP_SIZE = 75000000;
 
     // setup camera/video input
     VideoCapture cap;
index d746edc3d3904bebb4fdb2b740abf5b533f7900c..d1aa6dc7a5d403538e5cdbbedb9f5ae135847d48 100644 (file)
@@ -91,9 +91,7 @@ bool Run(int num_eve, int num_dsp, const char* ref_output)
 
     // Heap sizes for this network determined using Configuration::showHeapStats
     c.PARAM_HEAP_SIZE   = (3 << 20); // 3MB
-    c.NETWORK_HEAP_SIZE = (34 << 20); // 34MB
-    // AM572x default CMEM size is 160MB, 4 EVEs + 2DSPs won't fit
-    if (num_eve > 2)  num_eve = 2;
+    c.NETWORK_HEAP_SIZE = (20 << 20); // 20MB
 
     // Run this example for 16 input frames
     c.numFrames = 16;
index c54b908d8a533f52f8c0209c653f5f47f30b4c03..43310c034f1596b0c028c1889c9e7c1cfb800e9f 100644 (file)
@@ -96,9 +96,7 @@ bool Run(int num_eve, int num_dsp, const char* ref_output)
 
     // Heap sizes for this network determined using Configuration::showHeapStats
     c.PARAM_HEAP_SIZE   = (3 << 20); // 3MB
-    c.NETWORK_HEAP_SIZE = (34 << 20); // 34MB
-    // AM572x default CMEM size is 160MB, 4 EVEs + 2DSPs won't fit
-    if (num_eve > 2)  num_eve = 2;
+    c.NETWORK_HEAP_SIZE = (20 << 20); // 20MB
 
     // Run this example for 16 input frames
     c.numFrames = 16;