Tool/software:
I'm currently working on implementing custom operators for TIDL using SDK version 10_01_00_04. I've successfully created a custom operator and built the TIDL tools for the PC using the following command:
make tidl_pc_tools -j
This generates the tools at SDK/tidl_tools.tar.gz
. Everything appears to be functioning correctly on the PC: I replaced the TIDL tools in EdgeAI with my custom-built version, compiled an ONNX model that includes the custom operator, and was able to run inference successfully.
The issue arises when trying to build the TIDL tools for the target board. I used the following command to build the runtime tools:
make tidl_rt
I then replaced the following libraries on the board:
-
SDK/c7x-mma-tidl/arm-tidl/onnxrt_ep/out/J784S4/A72/LINUX/release/libtidl_onnxrt_EP.so.1.0
-
SDK/c7x-mma-tidl/arm-tidl/rt/out/J784S4/A72/LINUX/release/libvx_tidl_rt.so.1.0
However, the libvx_tidl_rt.so
built for the target does not contain any of the symbols related to my custom operator, unlike the version built for the PC.
So my questions are:
-
Is
make tidl_rt
the correct way to build TIDL tools for the target? -
How can I ensure that the custom operator implementation is included when building for the target?
-
Which libraries exactly need to be copied to the board to support custom operators modifications?