This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

J784S4XEVM: TI edgeai-tidl-tools and TI TVM compile onnx model , error occurs during linking ( offload to C7x),

Part Number: J784S4XEVM

Baed on this script (edgeai-tidl-tools-09_00_00_00/examples/osrt_python/tvm_dlr/tvm_compilation_onnx_example.py ) , I compile the trained model from our alogrithm  team

When I use this  command , that is to say   all TIDL-unsupported layers run on Arm  , compiling can be done  succussfully 

python3 tvm_compilation_onnx_example_dummy_vpn.py --no-offload 

but When I use this  command to complie  , that is to say  all TIDL-unsupported layers run on C7x ,  errors occurs during linking stages 

python3 tvm_compilation_onnx_example_dummy_vpn.py

Folllowing are some error log details 

/data/yangcun/ti/ti-cgt-c7000_3.1.0.LTS/bin/cl7x -o3 --abi=eabi --gcc --c11 -mv7100 -DSOC_J784S4 -I /home/jumpserver/.local/lib/python3.10/site-packages/tvm/include -I /home/jumpserver/.local/lib/python3.10/site-packages/tvm/3rdparty/dlpack/include -I /home/jumpserver/.local/lib/python3.10/site-packages/tvm/src/runtime/contrib/tidl/c7x func_registry.obj tvm_main.obj model_0.obj model_10.obj model_11.obj model_12.obj model_13.obj model_14.obj model_15.obj model_16.obj model_17.obj model_1.obj model_2.obj model_3.obj model_4.obj model_5.obj model_6.obj model_7.obj model_8.obj model_9.obj graph.json.c_embed.obj params.bin.c_embed.obj subgraph0_net.c_embed.obj subgraph0_params.c_embed.obj subgraph10_net.c_embed.obj subgraph10_params.c_embed.obj subgraph11_net.c_embed.obj subgraph11_params.c_embed.obj subgraph12_net.c_embed.obj subgraph12_params.c_embed.obj subgraph13_net.c_embed.obj subgraph13_params.c_embed.obj subgraph14_net.c_embed.obj subgraph14_params.c_embed.obj subgraph15_net.c_embed.obj subgraph15_params.c_embed.obj subgraph1_net.c_embed.obj subgraph1_params.c_embed.obj subgraph2_net.c_embed.obj subgraph2_params.c_embed.obj subgraph3_net.c_embed.obj subgraph3_params.c_embed.obj subgraph4_net.c_embed.obj subgraph4_params.c_embed.obj subgraph5_net.c_embed.obj subgraph5_params.c_embed.obj subgraph6_net.c_embed.obj subgraph6_params.c_embed.obj subgraph7_net.c_embed.obj subgraph7_params.c_embed.obj subgraph8_net.c_embed.obj subgraph8_params.c_embed.obj subgraph9_net.c_embed.obj subgraph9_params.c_embed.obj \
                  /home/jumpserver/.local/lib/python3.10/site-packages/tvm/src/runtime/contrib/tidl/c7x/7100_j784s4/dsp_syms.out.obj \
            -z -i /home/jumpserver/.local/lib/python3.10/site-packages/tvm/src/runtime/contrib/tidl/c7x/7100_j784s4 \
               -l tidl_api.lib \
               -l tvm_crt.lib \
               -l rts7100_le.lib \
                \
               -l /home/jumpserver/.local/lib/python3.10/site-packages/tvm/src/runtime/contrib/tidl/c7x/c7x_tvm.cmd \
            -o c7x_deploy_tvm.out -m c7x_deploy_tvm.out.map
<Linking>
warning #10473-D: Specified -heap size argument (0) is smaller than estimated
   required minimum heap size (16).
"/home/jumpserver/.local/lib/python3.10/site-packages/tvm/src/runtime/contrib/tidl/c7x/c7x_tvm.cmd", line 67: error #10099-D: 
   program will not fit into available memory, or the section contains a call
   site that requires a trampoline that can't be generated for this section.
   placement with alignment fails for section ".const" size 0x1c33d818.
   Available memory ranges:
   DDR          size: 0x19000000   unused: 0x18fe0dc0   max hole: 0x18fe0dc0
error #10010: errors encountered during linking; "c7x_deploy_tvm.out" not
   built

>> Compilation failure
make: *** [/home/jumpserver/.local/lib/python3.10/site-packages/tvm/src/runtime/contrib/tidl/c7x/Makefile.c7x_mod:54: c7x_deploy_tvm.out] Error 1
make: Leaving directory '/data/yangcun/edgeai-tidl-tools-09_00_00_00/model-artifacts/1007_v4.1_dummy_vpn_device/tempDir'

Traceback (most recent call last):
  File "/data/yangcun/edgeai-tidl-tools-09_00_00_00/examples/osrt_python/tvm_dlr/tvm_compilation_onnx_example_dummy_vpn.py", line 176, in <module>
    mod, status = compiler.enable(mod, params, calib_input_list)
  File "/home/jumpserver/.local/lib/python3.10/site-packages/tvm/relay/backend/contrib/tidl/tidl.py", line 2310, in enable
    mod_final = enable_c7x_mod(self, mod, mod_pre, params, num_imported_sgs)
  File "/home/jumpserver/.local/lib/python3.10/site-packages/tvm/relay/backend/contrib/tidl/build_c7x_mod.py", line 55, in enable_c7x_mod
    raise Exception("Building C7x tvm deployable module failed.")
Exception: Building C7x tvm deployable module failed.