Part Number: TDA4VM
Other Parts Discussed in Thread: SYSBIOS
Hi!
I have TDA4VM. I want to convert my own models to tidl format.
For the first step I want to launch examples with models provided by vendor.
I have downloaded SDKs and files from www.ti.com/.../TDA4VM
The problem is that I got "Illegal instruction" message in logs when try to compile models using command:
python3 onnxrt_ep.py -c
...
***************** Calibration iteration number 3 started ************************
~~~~~Running TIDL in PC emulation mode to collect Activations range for each layer~~~~~
Processing config file #0 : /home/stepin/edgeai-tidl-tools/model-artifacts/ss-ort-deeplabv3lite_mobilenetv2/tempDir/566TIDL_cast_out_tidl_io_.qunat_stats_config.txt Illegal instruction
...
TIDL ALLOWLISTING LAYER CHECK: TIDL_E_QUANT_STATS_NOT_AVAILABLE] tidl_quant_stats_tool.out fails to collect dynamic range. Please look into quant stats log. This model will get fault on target.
Environment:
System: Windows 11
Processor: Ryzen 9 5900HX / Intel 12700
Steps to reproduce
1. Install Ubuntu 22.04 via WSL and install necessary packages (docker also have been used and has similar results)
wsl –install Ubuntu-22.04
sudo apt-get install libyaml-cpp-dev
sudo apt install python3-pip
sudo apt install protobuf-compiler
sudo apt-get install graphviz
sudo apt-get install libgtk-3-dev
sudo apt-get install cmake
2. Download edgeai-tidl-tools and setup environments:
git clone github.com/.../edgeai-tidl-tools.git
cd edgeai-tidl-tools
export SOC=am68pa
export PATH="$PATH:/home/stepin/.local/bin"
source ./setup.sh
2.1 Re-export environments after wsl session restart:
export PATH="$PATH:/home/stepin/.local/bin"
export TIDL_TOOLS_PATH=/home/stepin/edgeai-tidl-tools/tidl_tools
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TIDL_TOOLS_PATH
export ARM64_GCC_PATH=/home/stepin/edgeai-tidl-tools/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu
3. Go to folder "examples/osrt_python/ort" and launch:
python3 onnxrt_ep.py -c
All models from model zoo have this message and after launching examples I don't have results which provided as examples of succesfull launching.
--------------------------------------------------------------------------------------------------------------------------------
I found some forum topics where you offer to check which AVX instruction are supported by PC processor.
I do next command:
grep avx /proc/cpuinfo
and there were avx and avx2 for Ryzen and Intel.
BTW I tried to do next:export TIDL_RT_AVX_REF=0
but it didn't help, I still got "Illegal instruction"
--------------------------------------------------------------------------------------------------------------------------------
Then I found next instruction in your guides:
Known Issue
In some of the old machines, user many observe "Illegal Instruction" error while importing model or performing inference on PC. This is observed because of new x86_64 instruction used in the pre-built binaries. To overcome this, user would need to re-built the TIDL-RT host emulation executable by executing below command
$ cd ${TIDL_INSTALL_PATH}$ make tidl TARGET_PLATFORM=PC
I have downloaded SDKs:
- ti-processor-sdk-linux-adas-j721e-evm-09_00_00_08
- ti-processor-sdk-rtos-j721e-evm-09_00_00_02
export PSDKL_PATH=/home/stepin/ti-processor-sdk-linux-adas-j721e-evm-09_00_00_08
export PSDKR_PATH=/home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02
export PSDK_INSTALL_PATH=$PSDKR_PATH
export TIDL_INSTALL_PATH=${PSDKR_PATH}/c7x-mma-tidl
export SOC=j721e
cp ${PSDKL_PATH}/board-support/prebuilt-images/boot-adas-${SOC}-evm.tar.gz ${PSDKR_PATH}/
cp ${PSDKL_PATH}/filesystem/tisdk-adas-image-${SOC}-evm.tar.xz ${PSDKR_PATH}/cd ${PSDKR_PATH}
./sdk_builder/scripts/setup_psdk_rtos.sh
After it I also downloaded and build dependant libraries from here and put it into SDK RTOS folder:
software-dl.ti.com/.../md_tidl_dependency_info.html
Then I go to the folder "c7x-mma-tidl" and do command:
make TARGET_PLATFORM=PC
It gives me a new import libraries but they have same size with libraris from TIDL_TOOLS archive, downloaded via setup.sh script in edgeai-tidl-tools repo.
When I try to do:make tidl TARGET_PLATFORM=PC
I have next logs:.======== MAKING CUSTOM LIB =================make -C ./ti_dl/custom -f makefilemake[1]: Entering directory '/home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/ti_dl/custom'r - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/custom/tidl_custom.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/custom/tidl_custom_maxpooling.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/custom/./tidsp/tidl_custom_maxpool_ixX_oxX.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/custom/./tidsp/tidl_custom_maxpool_ixX_oxX_c7x.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/custom/./tidsp/tidl_custom_maxpool_ixX_oxX_cn.objmake[1]: Leaving directory '/home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/ti_dl/custom'======== MAKING TIDL ALGO =================make -C ./ti_dl/algo -f makefilemake[1]: Entering directory '/home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/ti_dl/algo'r - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/printv.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_alg.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_alg_utils.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_argmax.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_batchNorm.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_batchReshape.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_colorConversion.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_commonUtils.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_concat.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_const.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_conv2d_base.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_crop.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_custom_int.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_dataConvert.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_deconv2d.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_depthToSpace.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_detectionOutput.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_detectionOutput_score.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_device_functions.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_eltWise.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_flatten.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_function_mapping.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_gatherLayer.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_innerProduct.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_odOutputReformat.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_pad.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_pooling.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_preEmption.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_reduce.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_reshape.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_resize.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_roiPooling.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_scatterElements.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_shuffleChannel.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_slice.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_softmax.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_squeeze.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/tidl_transpose.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/./src/workload_ref_exec.objmake[1]: Leaving directory '/home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/ti_dl/algo'make -C ./ti_dl/algo/src/avx -f makefilemake[1]: Entering directory '/home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/ti_dl/algo/src/avx'r - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/src/avx/./tidl_avx.objmake[1]: Leaving directory '/home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/ti_dl/algo/src/avx'.======== MAKING TIDL PRIV ALGO =================make -C ./ti_dl/algo/src/priv -f makefilemake[1]: Entering directory '/home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/ti_dl/algo/src/priv'r - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/src/priv/./tidl_stalgo.objr - /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/out/PC/dsp/algo/release/ti_dl/algo/src/priv/./tidl_stalgo_workload.objmake[1]: Leaving directory '/home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/ti_dl/algo/src/priv'.======== MAKING TIDL AND CUSTOM LIBRARIES =================.======== MAKING TIDL TEST =================make -C ./ti_dl/test -f makefile final_installmake[1]: Entering directory '/home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/ti_dl/test'SHELL=/bin/shTARGET_MAKEFILES=src/dsp_rtos/concerto.mak src/pc_linux/concerto.makKeep only PC platform in TARGET_COMBOSundefined TIARMCGT_ROOT=undefined TIARMCGT_LLVM_ROOT=undefined GCC_SYSBIOS_ARM_ROOT=undefined CGT6X_ROOT=file CGT7X_ROOT="/home/stepin/ti/ti-cgt-c7000_3.1.0.LTS"undefined GCC_WINDOWS_ROOT=file GCC_LINUX_ROOT=/usrundefined GCC_QNX_ROOT=#######################################################################TARGET_COMBO=PC:LINUX:x86_64:1:release:GCC_LINUXRequired system library libtidl_custom.aRequired system library libtidl_algo.aRequired system library libtidl_obj_algo.aRequired system library libtidl_priv_algo.aRequired system library libmmalib_cn_x86_64.aRequired system library libmmalib_x86_64.aRequired system library libcommon_x86_64.aRequired system library libC7100-host-emulation.aRequired system library libopencv_imgproc.aRequired system library libopencv_imgcodecs.aRequired system library libopencv_core.aRequired system library liblibtiff.aRequired system library liblibwebp.aRequired system library liblibpng.aRequired system library liblibjpeg-turbo.aRequired system library libIlmImf.aRequired system library libzlib.aRequired system library liblibjasper.aRequired system library libtidl_avx_kernels.aRequired system library libdl.soLinking /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/ti_dl/test/out/PC/x86_64/LINUX/release/PC_dsp_test_dl_algo.outCopying built libraries: /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/ti_dl/test/out/PC/x86_64/LINUX/release to /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/ti_dl/test/lib/PC/x86_64/LINUX/releaseCopying built libraries: /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/ti_dl/test/out/PC/x86_64/LINUX/release/PC_dsp_test_dl_algo.out to /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/ti_dl/test/src/pc_linux/../..TROLOLO /home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/sdk_builder/concertomake[1]: Leaving directory '/home/stepin/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/c7x-mma-tidl/ti_dl/test'So I want you to help me with next problems:
-----------------------------------------------------------------------------------------------------------------
- What should I do to fix Illegal instruction?
- Am I use correct SDKs?
- How should I launch tdil-rt rebuild?



