Tool/software:
I am trying to set up edgeai-tidl-tools by following this link https://github.com/TexasInstruments/edgeai-tidl-tools/tree/master?tab=readme-ov-file#setup . I have tried both the Docker setup as well as the Setup on X86_PC. In both cases when running make -j as mentioned in Compile and Validate on X86_PC step, I get the following error
/home/root/examples/tidlrt_cpp/advanced_examples/tidlrt_priority_scheduling.cpp:265:10: error: 'struct sTIDLRT_Params_t' has no member named 'coreNum' 265 | prms.coreNum = 1;
The complete output for make is as follows
root@248decbc83a2:/home/root/build# make -j Consolidate compiler generated dependencies of target pre_process Consolidate compiler generated dependencies of target utils Consolidate compiler generated dependencies of target utils_adv Consolidate compiler generated dependencies of target post_process [ 3%] Building CXX object osrt_cpp/advanced_examples/utils/CMakeFiles/utils_adv.dir/src/arg_parsing.cpp.o [ 6%] Building CXX object osrt_cpp/advanced_examples/utils/CMakeFiles/utils_adv.dir/src/print_utils.cpp.o [ 10%] Building CXX object osrt_cpp/pre_process/CMakeFiles/pre_process.dir/pre_process.cpp.o [ 13%] Building CXX object osrt_cpp/utils/CMakeFiles/utils.dir/src/utility_functs.cpp.o [ 16%] Building CXX object osrt_cpp/utils/CMakeFiles/utils.dir/src/edgeai_classnames.cpp.o [ 20%] Building CXX object osrt_cpp/utils/CMakeFiles/utils.dir/src/model_info.cpp.o [ 23%] Building CXX object osrt_cpp/utils/CMakeFiles/utils.dir/src/supportLib.cpp.o [ 26%] Building CXX object osrt_cpp/utils/CMakeFiles/utils.dir/src/arg_parsing.cpp.o [ 30%] Building CXX object osrt_cpp/utils/CMakeFiles/utils.dir/src/pbPlots.cpp.o [ 33%] Building CXX object osrt_cpp/utils/CMakeFiles/utils.dir/src/ti_logger.cpp.o [ 36%] Building CXX object osrt_cpp/post_process/CMakeFiles/post_process.dir/post_process.cpp.o [ 40%] Linking CXX static library /home/root/lib/Release/libutils_adv.a [ 40%] Built target utils_adv [ 43%] Linking CXX static library /home/root/lib/Release/libpre_process.a [ 43%] Built target pre_process [ 46%] Linking CXX static library /home/root/lib/Release/libutils.a [ 46%] Built target utils [ 50%] Linking CXX static library /home/root/lib/Release/libpost_process.a [ 50%] Built target post_process [ 56%] Building CXX object osrt_cpp/advanced_examples/tfl/CMakeFiles/tfl_priority_scheduling.dir/tfl_priority_scheduling.cpp.o [ 56%] Building CXX object osrt_cpp/tfl/CMakeFiles/tfl_main.dir/tfl_main.cpp.o [ 63%] Building CXX object osrt_cpp/ort/CMakeFiles/ort_main.dir/onnx_main.cpp.o [ 63%] Building CXX object tidlrt_cpp/advanced_examples/CMakeFiles/tidlrt_priority_scheduling.dir/tidlrt_priority_scheduling_utils.cpp.o [ 70%] Building CXX object tidlrt_cpp/advanced_examples/CMakeFiles/tidlrt_priority_scheduling.dir/tidlrt_priority_scheduling.cpp.o [ 70%] Building CXX object tidlrt_cpp/CMakeFiles/tidlrt_clasification.dir/classification.cpp.o [ 73%] Building CXX object osrt_cpp/advanced_examples/ort/CMakeFiles/ort_priority_scheduling.dir/ort_priority_scheduling.cpp.o [ 76%] Building CXX object osrt_cpp/dlr/CMakeFiles/dlr_main.dir/dlr_main.cpp.o /home/root/examples/tidlrt_cpp/advanced_examples/tidlrt_priority_scheduling_utils.cpp: In function 'void TIDL_createTable(std::ostream&, std::vector<std::__cxx11::basic_string<char> >, std::vector<std::vector<std::__cxx11::basic_string<char> > >, int32_t, std::vector<TIDL_table_align_t>, bool)': /home/root/examples/tidlrt_cpp/advanced_examples/tidlrt_priority_scheduling_utils.cpp:91:82: warning: format '%d' expects argument of type 'int', but argument 3 has type 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wformat=] 91 | printf("No of headers columns - %d does not match number of data column - %d\n", numColumn, d.size()); | ~^ ~~~~~~~~ | | | | int std::vector<std::__cxx11::basic_string<char> >::size_type {aka long unsigned int} | %ld /home/root/examples/tidlrt_cpp/advanced_examples/tidlrt_priority_scheduling.cpp: In function 'void* infer(void*)': /home/root/examples/tidlrt_cpp/advanced_examples/tidlrt_priority_scheduling.cpp:265:10: error: 'struct sTIDLRT_Params_t' has no member named 'coreNum' 265 | prms.coreNum = 1; | ^~~~~~~ /home/root/examples/tidlrt_cpp/classification.cpp: In function 'void getModelNameromArtifactsDir(char*, char*, char*)': /home/root/examples/tidlrt_cpp/classification.cpp:155:9: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result] 155 | fscanf(fp, "%s", net_name); | ~~~~~~^~~~~~~~~~~~~~~~~~~~ /home/root/examples/tidlrt_cpp/classification.cpp:164:9: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result] 164 | fscanf(fp, "%s", io_name); | ~~~~~~^~~~~~~~~~~~~~~~~~~ /home/root/examples/tidlrt_cpp/classification.cpp: In function 'int32_t TIDLReadBinFromFile(const char*, void*, int32_t)': /home/root/examples/tidlrt_cpp/classification.cpp:174:12: warning: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result] 174 | fread(addr, size, 1, fptr); | ~~~~~^~~~~~~~~~~~~~~~~~~~~ /home/root/examples/tidlrt_cpp/advanced_examples/tidlrt_priority_scheduling.cpp: In function 'int runInference(Priority_settings*)': /home/root/examples/tidlrt_cpp/advanced_examples/tidlrt_priority_scheduling.cpp:641:9: warning: ignoring return value of 'int system(const char*)' declared with attribute 'warn_unused_result' [-Wunused-result] 641 | system("mkdir -p examples/tidlrt_cpp/advanced_examples/outputs"); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/root/examples/tidlrt_cpp/advanced_examples/tidlrt_priority_scheduling.cpp:645:11: warning: ignoring return value of 'int system(const char*)' declared with attribute 'warn_unused_result' [-Wunused-result] 645 | system("cd examples/tidlrt_cpp/advanced_examples/outputs; rm -f *; cd - > /dev/null"); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[2]: *** [tidlrt_cpp/advanced_examples/CMakeFiles/tidlrt_priority_scheduling.dir/build.make:76: tidlrt_cpp/advanced_examples/CMakeFiles/tidlrt_priority_scheduling.dir/tidlrt_priority_scheduling.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... [ 80%] Linking CXX executable /home/root/bin/Release/tidlrt_clasification /home/root/examples/tidlrt_cpp/advanced_examples/tidlrt_priority_scheduling_utils.cpp: In function 'void getModelNameromArtifactsDir(char*, char*, char*)': /home/root/examples/tidlrt_cpp/advanced_examples/tidlrt_priority_scheduling_utils.cpp:226:9: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result] 226 | fscanf(fp, "%s", net_name); | ~~~~~~^~~~~~~~~~~~~~~~~~~~ /home/root/examples/tidlrt_cpp/advanced_examples/tidlrt_priority_scheduling_utils.cpp:235:9: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result] 235 | fscanf(fp, "%s", io_name); | ~~~~~~^~~~~~~~~~~~~~~~~~~ /home/root/examples/tidlrt_cpp/advanced_examples/tidlrt_priority_scheduling_utils.cpp: In function 'int32_t TIDLReadBinFromFile(const char*, void*, int32_t)': /home/root/examples/tidlrt_cpp/advanced_examples/tidlrt_priority_scheduling_utils.cpp:246:12: warning: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result] 246 | fread(addr, size, 1, fptr); | ~~~~~^~~~~~~~~~~~~~~~~~~~~ [ 80%] Built target tidlrt_clasification /home/root/examples/osrt_cpp/advanced_examples/tfl/tfl_priority_scheduling.cpp: In function 'int tflite::main::getInvokeTime(tflite::main::tfl_model_struct*)': /home/root/examples/osrt_cpp/advanced_examples/tfl/tfl_priority_scheduling.cpp:250:47: warning: format '%d' expects argument of type 'int', but argument 3 has type 'double' [-Wformat=] 250 | std::sprintf(pre_empt_char, "%d", FLT_MAX); | ~^ | | | int | %f /home/root/examples/osrt_cpp/advanced_examples/tfl/tfl_priority_scheduling.cpp:251:33: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 251 | char *keys[] = {"artifacts_folder", "num_tidl_subgraphs", "debug_level", "priority", "max_pre_empt_delay"}; | ^~~~~~~~~~~~~~~~~~ /home/root/examples/osrt_cpp/advanced_examples/tfl/tfl_priority_scheduling.cpp:251:53: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 251 | char *keys[] = {"artifacts_folder", "num_tidl_subgraphs", "debug_level", "priority", "max_pre_empt_delay"}; | ^~~~~~~~~~~~~~~~~~~~ /home/root/examples/osrt_cpp/advanced_examples/tfl/tfl_priority_scheduling.cpp:251:75: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 251 | char *keys[] = {"artifacts_folder", "num_tidl_subgraphs", "debug_level", "priority", "max_pre_empt_delay"}; | ^~~~~~~~~~~~~ /home/root/examples/osrt_cpp/advanced_examples/tfl/tfl_priority_scheduling.cpp:251:90: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 251 | char *keys[] = {"artifacts_folder", "num_tidl_subgraphs", "debug_level", "priority", "max_pre_empt_delay"}; | ^~~~~~~~~~ /home/root/examples/osrt_cpp/advanced_examples/tfl/tfl_priority_scheduling.cpp:251:102: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 251 | char *keys[] = {"artifacts_folder", "num_tidl_subgraphs", "debug_level", "priority", "max_pre_empt_delay"}; | ^~~~~~~~~~~~~~~~~~~~ /home/root/examples/osrt_cpp/advanced_examples/tfl/tfl_priority_scheduling.cpp:252:94: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 252 | char *values[] = {(char *)arg->modelInfo->m_infConfig.artifactsPath.c_str(), "16", "0", (char *)prior_char, (char *)pre_empt_char}; | ^~~~ /home/root/examples/osrt_cpp/advanced_examples/tfl/tfl_priority_scheduling.cpp:252:100: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 252 | char *values[] = {(char *)arg->modelInfo->m_infConfig.artifactsPath.c_str(), "16", "0", (char *)prior_char, (char *)pre_empt_char}; | ^~~ /home/root/examples/osrt_cpp/advanced_examples/tfl/tfl_priority_scheduling.cpp: In function 'void* tflite::main::infer(void*)': /home/root/examples/osrt_cpp/advanced_examples/tfl/tfl_priority_scheduling.cpp:439:33: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 439 | char *keys[] = {"artifacts_folder", "num_tidl_subgraphs", "debug_level", "priority", "max_pre_empt_delay"}; | ^~~~~~~~~~~~~~~~~~ /home/root/examples/osrt_cpp/advanced_examples/tfl/tfl_priority_scheduling.cpp:439:53: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 439 | char *keys[] = {"artifacts_folder", "num_tidl_subgraphs", "debug_level", "priority", "max_pre_empt_delay"}; | ^~~~~~~~~~~~~~~~~~~~ /home/root/examples/osrt_cpp/advanced_examples/tfl/tfl_priority_scheduling.cpp:439:75: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 439 | char *keys[] = {"artifacts_folder", "num_tidl_subgraphs", "debug_level", "priority", "max_pre_empt_delay"}; | ^~~~~~~~~~~~~ /home/root/examples/osrt_cpp/advanced_examples/tfl/tfl_priority_scheduling.cpp:439:90: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 439 | char *keys[] = {"artifacts_folder", "num_tidl_subgraphs", "debug_level", "priority", "max_pre_empt_delay"}; | ^~~~~~~~~~ /home/root/examples/osrt_cpp/advanced_examples/tfl/tfl_priority_scheduling.cpp:439:102: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 439 | char *keys[] = {"artifacts_folder", "num_tidl_subgraphs", "debug_level", "priority", "max_pre_empt_delay"}; | ^~~~~~~~~~~~~~~~~~~~ /home/root/examples/osrt_cpp/advanced_examples/tfl/tfl_priority_scheduling.cpp:440:94: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 440 | char *values[] = {(char *)arg->modelInfo->m_infConfig.artifactsPath.c_str(), "16", "0", (char *)prior_char, (char *)pre_empt_char}; | ^~~~ /home/root/examples/osrt_cpp/advanced_examples/tfl/tfl_priority_scheduling.cpp:440:100: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 440 | char *values[] = {(char *)arg->modelInfo->m_infConfig.artifactsPath.c_str(), "16", "0", (char *)prior_char, (char *)pre_empt_char}; | ^~~ /home/root/examples/osrt_cpp/tfl/tfl_main.cpp: In function 'int tflite::main::runInference(tidl::modelInfo::ModelInfo*, tidl::arg_parsing::Settings*)': /home/root/examples/osrt_cpp/tfl/tfl_main.cpp:287:25: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 287 | char *keys[] = {"artifacts_folder", "num_tidl_subgraphs", "debug_level"}; | ^~~~~~~~~~~~~~~~~~ /home/root/examples/osrt_cpp/tfl/tfl_main.cpp:287:45: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 287 | char *keys[] = {"artifacts_folder", "num_tidl_subgraphs", "debug_level"}; | ^~~~~~~~~~~~~~~~~~~~ /home/root/examples/osrt_cpp/tfl/tfl_main.cpp:287:67: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 287 | char *keys[] = {"artifacts_folder", "num_tidl_subgraphs", "debug_level"}; | ^~~~~~~~~~~~~ /home/root/examples/osrt_cpp/tfl/tfl_main.cpp:288:81: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 288 | char *values[] = {(char *)modelInfo->m_infConfig.artifactsPath.c_str(), "16", "0"}; | ^~~~ /home/root/examples/osrt_cpp/tfl/tfl_main.cpp:288:87: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 288 | char *values[] = {(char *)modelInfo->m_infConfig.artifactsPath.c_str(), "16", "0"}; | ^~~ make[1]: *** [CMakeFiles/Makefile2:530: tidlrt_cpp/advanced_examples/CMakeFiles/tidlrt_priority_scheduling.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... /home/root/examples/osrt_cpp/advanced_examples/ort/ort_priority_scheduling.cpp: In function 'int onnx::main::getInvokeTime(onnx::main::ort_model_struct*)': /home/root/examples/osrt_cpp/advanced_examples/ort/ort_priority_scheduling.cpp:379:50: warning: ignoring return value of 'OrtStatus* OrtSessionsOptionsSetDefault_Tidl(c_api_tidl_options*)' declared with attribute 'warn_unused_result' [-Wunused-result] 379 | OrtSessionsOptionsSetDefault_Tidl(options); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ /home/root/examples/osrt_cpp/advanced_examples/ort/ort_priority_scheduling.cpp: In function 'int onnx::main::runInference(tidl::modelInfo::ModelInfo**, tidl::arg_parsing_adv::Settings*)': /home/root/examples/osrt_cpp/advanced_examples/ort/ort_priority_scheduling.cpp:995:49: warning: ignoring return value of function declared with attribute 'warn_unused_result' [-Wunused-result] 995 | Ort::GetApi().CreateThreadingOptions(&envOpts); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ /home/root/examples/osrt_cpp/advanced_examples/ort/ort_priority_scheduling.cpp:996:53: warning: ignoring return value of function declared with attribute 'warn_unused_result' [-Wunused-result] 996 | Ort::GetApi().SetGlobalInterOpNumThreads(envOpts, 0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ /home/root/examples/osrt_cpp/advanced_examples/ort/ort_priority_scheduling.cpp:997:47: warning: ignoring return value of function declared with attribute 'warn_unused_result' [-Wunused-result] 997 | Ort::GetApi().SetGlobalSpinControl(envOpts, false); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /home/root/examples/osrt_cpp/advanced_examples/ort/ort_priority_scheduling.cpp:998:57: warning: ignoring return value of function declared with attribute 'warn_unused_result' [-Wunused-result] 998 | Ort::GetApi().CreateEnvWithGlobalThreadPools(ORT_LOGGING_LEVEL_WARNING, "test", envOpts, &environment); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 83%] Linking CXX executable /home/root/bin/Release/dlr_main [ 86%] Linking CXX executable /home/root/bin/Release/tfl_main [ 86%] Built target dlr_main [ 90%] Linking CXX executable /home/root/bin/Release/tfl_priority_scheduling [ 93%] Linking CXX executable /home/root/bin/Release/ort_priority_scheduling [ 93%] Built target tfl_main [ 96%] Linking CXX executable /home/root/bin/Release/ort_main [ 96%] Built target ort_priority_scheduling [ 96%] Built target tfl_priority_scheduling [ 96%] Built target ort_main make: *** [Makefile:136: all] Error 2
Next when I run source ./scripts/run_python_examples.sh the script starts running the models but gets stuck after a while with the following output, until I use ctrl+c to interrupt.
root@248decbc83a2:/home/root# source ./scripts/run_python_examples.sh X64 Architecture 1 Running 4 Models - ['cl-tfl-mobilenet_v1_1.0_224', 'ss-tfl-deeplabv3_mnv2_ade20k_float', 'od-tfl-ssd_mobilenet_v2_300_float', 'od-tfl-ssdlite_mobiledet_dsp_320x320_coco'] Running_Model : cl-tfl-mobilenet_v1_1.0_224 Running_Model : ss-tfl-deeplabv3_mnv2_ade20k_float Running_Model : od-tfl-ssd_mobilenet_v2_300_float Running_Model : od-tfl-ssdlite_mobiledet_dsp_320x320_coco Number of subgraphs:1 , 77 nodes delegated out of 77 nodes Number of subgraphs:1 , 31 nodes delegated out of 31 nodes TIDL Meta PipeLine (Proto) File : Number of OD backbone nodes = 0 Size of odBackboneNodeIds = 0 Warning : concat requires 4D input tensors - only 3 dims present.. Ignore if object detection network Number of subgraphs:1 , 126 nodes delegated out of 126 nodes TIDL Meta PipeLine (Proto) File : Number of OD backbone nodes = 0 Size of odBackboneNodeIds = 0 Warning : concat requires 4D input tensors - only 3 dims present.. Ignore if object detection network Number of subgraphs:1 , 104 nodes delegated out of 104 nodes ^CTraceback (most recent call last): File "/home/root/examples/osrt_python/tfl/tflrt_delegate.py", line 508, in <module> nthreads = join_one(nthreads) File "/home/root/examples/osrt_python/tfl/tflrt_delegate.py", line 475, in join_one sem.acquire() KeyboardInterrupt
Is it supposed to run for a long time or is there some error which prevents further execution? I waited about 10-12 minutes before interrupting.