More example sizes adjustment with new TIDL lib
authorYuan Zhao <yuanzhao@ti.com>
Thu, 5 Sep 2019 20:40:36 +0000 (15:40 -0500)
committerYuan Zhao <yuanzhao@ti.com>
Thu, 5 Sep 2019 20:42:30 +0000 (15:42 -0500)
- MCT-1217

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 c8000d1c69449162ed0b3460c82b110b3061aba4..2665bb6f5718184106efdc67cf1b7bb1bd50f5b3 100644 (file)
@@ -101,6 +101,8 @@ 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.numFrames = 16;
 
index f249c09d7e0cbb892627cccf49b137d608fa8ac3..4d83bbe711a0c5050d0c0523a6740a3ea6bb7dc4 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 = (20 << 20)
+    configuration.network_heap_size = (34 << 20)
 
 
     try:
index 81c9e220f1d71f41c0f1236b75dcc901269a6de5..dda97127efad53180013e7b3660b38bd09751a29 100755 (executable)
@@ -54,6 +54,9 @@ 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')
@@ -93,7 +96,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 = (20 << 20)
+    configuration.network_heap_size = (34 << 20)
 
     try:
         print('TIDL API: performing one time initialization ...')
index 953c691efb62921905f744be3e6d51091d49d199..6090d7bff7e70ffa05f5af4c518aae52ca5a0fe8 100755 (executable)
@@ -55,10 +55,13 @@ def main():
 
     # Heap sizes for this network determined using Configuration.showHeapStats
     configuration.param_heap_size = (3 << 20)
-    configuration.network_heap_size = (20 << 20)
+    configuration.network_heap_size = (34 << 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 28195558346d3350ddee5015f09094b5a82cdd29..120251150999a56da65326dd44e833f4476f1eeb 100755 (executable)
@@ -51,10 +51,13 @@ def main():
 
     # Heap sizes for this network determined using Configuration.showHeapStats
     configuration.param_heap_size = (3 << 20)
-    configuration.network_heap_size = (20 << 20)
+    configuration.network_heap_size = (34 << 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 93f4c89ab5b3aa94d4e36def357d3a7f4dbe1123..eaa61bd2d40708f7352a49b7c00eae62a7f4bbc9 100644 (file)
@@ -166,6 +166,9 @@ 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 f309d4e3734c604d0be5817971f6d9dd6cdc9b56..d746edc3d3904bebb4fdb2b740abf5b533f7900c 100644 (file)
@@ -92,6 +92,8 @@ 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;
 
     // Run this example for 16 input frames
     c.numFrames = 16;
index 68d92217aa97ab9423d013b9d6bdec78e8d44859..c54b908d8a533f52f8c0209c653f5f47f30b4c03 100644 (file)
@@ -97,6 +97,8 @@ 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;
 
     // Run this example for 16 input frames
     c.numFrames = 16;