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.

TDA2E: How to realize TIDL model switching without reloading the whole Chain?

Part Number: TDA2E


Hi,

I need to run two (OD and SemSeg) TIDL models alternatively. However, it takes too long to reload the whole chain.

Besides, I found the 'ALGORITHM_LINK_OBJ_MAX' parameter. Does that mean I can load two models on one EVE, and switch while the chain running?

  • As long as you have enough resource to allocate for both chains, you can create them statically and feed data to one of the chains at a time.

    Regards,
    Stanley

  • Thanks, i will verify the feasibility.

  • Hi Stanley
    I'm trying to restart tidl_OD usecase without create & delete repeatedly.
    However, the chain can be started (chains_tidlEVE_StartAPP) and then stop (chain_tidlEVE_StopAPP) correctly, but can not be restarted again by chains_tidlEVE_StartAPP. 
    Corresponding code and log are shown below.
    Void chains_tidlEVE_StartAPP(chains_tidlODAppObj *pObj)
    {
    chains_tidlEVE_Start(&pObj->ucObj);
    Chains_prfLoadCalcEnable(TRUE, FALSE, FALSE);
    }
    
    Void chains_tidlEVE_StopAPP(chains_tidlODAppObj *pObj) 
    {
     chains_tidlEVE_Stop(&pObj->ucObj); 
     Chains_prfLoadCalcEnable(FALSE, TRUE, TRUE); 
    }

    log:

    [IPU1-0] ====================
    [IPU1-0] Chains Run-time Menu
    [IPU1-0] ====================
    [IPU1-0]
    [IPU1-0] 0: DeInit Chain
    [IPU1-0]
    [IPU1-0] 1: Stop Chain
    [IPU1-0] 2: Start Chain
    [IPU1-0]
    [IPU1-0] p: printStatistics
    [IPU1-0]
    [IPU1-0] c: PRINT_CORE_PRF_LOAD
    [IPU1-0]
    [IPU1-0] b: printBufferStatistics
    [IPU1-0]
    [IPU1-0] Enter Choice:
    [IPU1-0]
    [IPU1-0] 32.902580 s:
    [IPU1-0] 32.902671 s: DISPLAY: Start in progress !!!
    [IPU1-0] 32.902732 s: DISPLAY: Start Done !!!
    [IPU1-0] 32.908711 s: DISPLAY: Start in progress !!!
    [IPU1-0] 32.908802 s: DISPLAY: Start Done !!!
    [IPU1-0] 32.916519 s:
    [IPU1-0]
    [IPU1-0] ====================
    [IPU1-0] Chains Run-time Menu
    [IPU1-0] ====================
    [IPU1-0]
    [IPU1-0] 0: DeInit Chain
    [IPU1-0]
    [IPU1-0] 1: Stop Chain
    [IPU1-0] 2: Start Chain
    [IPU1-0]
    [IPU1-0] p: printStatistics
    [IPU1-0]
    [IPU1-0] c: PRINT_CORE_PRF_LOAD
    [IPU1-0]
    [IPU1-0] b: printBufferStatistics
    [IPU1-0]
    [IPU1-0] Enter Choice:
    [IPU1-0]
    [IPU1-0] 45.250960 s:
    [IPU1-0] 45.251082 s: DISPLAY: Stop in progress !!!
    [IPU1-0] 45.251174 s: DISPLAY: Stop Done !!!
    [IPU1-0] 45.254803 s: DISPLAY: Stop in progress !!!
    [IPU1-0] 45.254925 s: DISPLAY: Stop Done !!!
    [IPU1-0] 45.255047 s: ALGORITHM: Stop in progress (algId = 1) !!!
    [IPU1-0] 45.255139 s: ALGORITHM: Stop Done (algId = 1) !!!
    [IPU1-0] 45.255261 s: IPC_IN_1 : Stop Done !!!
    [IPU1-0] 45.256054 s: IPC_OUT_1 : Stop Done !!!
    [IPU1-0] 45.256298 s: IPC_IN_0 : Stop Done !!!
    [HOST ] 45.255413 s: IPC_OUT_3 : Stop Done !!!
    [HOST ] 45.255505 s: ALGORITHM: Stop in progress (algId = 16) !!!
    [HOST ] 45.255505 s: ALGORITHM: Stop Done (algId = 16) !!!
    [HOST ] 45.255566 s: IPC_IN_1 : Stop Done !!!
    [HOST ] 45.282742 s: IPC_OUT_0 : Stop Done !!!
    [DSP1 ] 45.255657 s: IPC_OUT_1 : Stop Done !!!
    [DSP1 ] 45.255840 s: ALGORITHM: Stop in progress (algId = 39) !!!
    [DSP1 ] 45.255840 s: ALGORITHM: Stop Done (algId = 39) !!!
    [DSP1 ] 45.255962 s: IPC_IN_3 : Stop Done !!!
    [DSP1 ] 45.256450 s: IPC_OUT_0 : Stop Done !!!
    [DSP1 ] 45.256572 s: ALGORITHM: Stop in progress (algId = 36) !!!
    [DSP1 ] 45.256603 s: ALGORITHM: Stop Done (algId = 36) !!!
    [DSP1 ] 45.256999 s: IPC_IN_0 : Stop Done !!!
    [DSP1 ] 45.282834 s: IPC_IN_1 : Stop Done !!!
    [EVE1 ] 45.280912 s: IPC_OUT_0 : Stop Done !!!
    [EVE1 ] 45.281492 s: ALGORITHM: Stop in progress (algId = 14) !!!
    [EVE1 ] 45.281736 s: ALGORITHM: Stop Done (algId = 14) !!!
    [EVE1 ] 45.282407 s: IPC_IN_0 : Stop Done !!!
    [EVE2 ] 45.379765 s: IPC_OUT_0 : Stop Done !!!
    [EVE2 ] 45.380558 s: ALGORITHM: Stop in progress (algId = 14) !!!
    [EVE2 ] 45.380802 s: ALGORITHM: Stop Done (algId = 14) !!!
    [EVE2 ] 45.381351 s: IPC_IN_0 : Stop Done !!!
    [HOST ] 45.381687 s: IPC_OUT_1 : Stop Done !!!
    [DSP1 ] 45.381961 s: IPC_IN_2 : Stop Done !!!
    [IPU1-0] 45.480265 s: IPC_OUT_0 : Stop Done !!!
    [IPU1-0] 45.480448 s: VPE: Stop in progress !!!
    [IPU1-0] 45.480540 s: VPE: Stop Done !!!
    [IPU1-0] 45.480631 s: DECODE: Stop in progress !!!
    [IPU1-0] 45.480814 s: DECODE: Stop Done !!!
    [IPU1-0] 45.481058 s:
    [IPU1-0] 45.481180 s: #### EVE CLK = 650.0 Mhz
    [IPU1-0] 45.481302 s: #### DSP CLK = 748.0 Mhz
    [IPU1-0] 45.481424 s: #### IPU CLK = 212.800000 Mhz
    [IPU1-0] 45.481547 s: #### A15 CLK = 1176.0 Mhz
    [IPU1-0] 45.481608 s:
    [IPU1-0] 45.481638 s:
    [IPU1-0] 45.481699 s: LOAD: CPU: 14.5% HWI: 1.8%, SWI:0.8%
    [IPU1-0] 45.482035 s:
    [IPU1-0] 45.482096 s: LOAD: TSK: IPC_IN_0 : 0.1%
    [IPU1-0] 45.482187 s: LOAD: TSK: IPC_IN_1 : 0.1%
    [IPU1-0] 45.482279 s: LOAD: TSK: IPC_OUT_0 : 0.1%
    [IPU1-0] 45.482370 s: LOAD: TSK: IPC_OUT_1 : 0.2%
    [IPU1-0] 45.482462 s: LOAD: TSK: NULL_SRC0 : 2.6%
    [IPU1-0] 45.482553 s: LOAD: TSK: SYNC0 : 0.3%
    [IPU1-0] 45.482645 s: LOAD: TSK: DISPLAY0 : 0.1%
    [IPU1-0] 45.482767 s: LOAD: TSK: DEC0 : 0.2%
    [IPU1-0] 45.482858 s: LOAD: TSK: VPE0 : 0.3%
    [IPU1-0] 45.482950 s: LOAD: TSK: ALGORITHM0 : 1.7%
    [IPU1-0] 45.483041 s: LOAD: TSK: GrpxSrc0 : 0.2%
    [IPU1-0] 45.483133 s: LOAD: TSK: STAT_COLL : 3.5%
    [IPU1-0] 45.483224 s: LOAD: TSK: DEC_PROCESS_TSK_0 : 0.4%
    [IPU1-0] 45.483316 s: LOAD: TSK: MISC : 2.1%
    [IPU1-0] 45.483377 s:
    [IPU1-1] 45.583267 s:
    [IPU1-1] 45.583358 s: LOAD: CPU: 1.1% HWI: 0.7%, SWI:0.3%
    [IPU1-1] 45.583450 s:
    [IPU1-1] 45.583541 s: LOAD: TSK: MISC : 0.1%
    [IPU1-1] 45.583633 s:
    [HOST ] 45.480082 s: IPC_OUT_2 : Stop Done !!!
    [HOST ] 45.480143 s: ALGORITHM: Stop in progress (algId = 12) !!!
    [HOST ] 45.480143 s: ALGORITHM: Stop Done (algId = 12) !!!
    [HOST ] 45.480204 s: IPC_IN_0 : Stop Done !!!
    [EVE3 ] 45.478374 s: IPC_OUT_0 : Stop Done !!!
    [EVE3 ] 45.478984 s: ALGORITHM: Stop in progress (algId = 14) !!!
    [EVE3 ] 45.479198 s: ALGORITHM: Stop Done (algId = 14) !!!
    [EVE3 ] 45.479747 s: IPC_IN_0 : Stop Done !!!
    [HOST ] 45.684133 s:
    [HOST ] 45.684133 s: LOAD: CPU: 26.3% HWI: 0.1%, SWI:0.0%
    [HOST ] 45.684133 s:
    [HOST ] 45.684133 s: LOAD: TSK: MISC : 26.2%
    [HOST ] 45.684163 s:
    [DSP1 ] 45.783962 s:
    [DSP1 ] 45.783993 s: LOAD: CPU: 15.0% HWI: 0.2%, SWI:0.1%
    [DSP1 ] 45.783993 s:
    [DSP1 ] 45.784023 s: LOAD: TSK: SYSTEM_TSK_MULTI_MBX: 14.5%
    [DSP1 ] 45.784023 s: LOAD: TSK: MISC : 0.2%
    [DSP1 ] 45.784054 s:
    [DSP2 ] 45.883974 s:
    [DSP2 ] 45.884005 s: LOAD: CPU: 0.2% HWI: 0.0%, SWI:0.0%
    [DSP2 ] 45.884035 s:
    [DSP2 ] 45.884035 s: LOAD: TSK: MISC : 0.2%
    [DSP2 ] 45.884066 s:
    [EVE1 ] 45.984444 s:
    [EVE1 ] 45.984597 s: LOAD: CPU: 75.7% HWI: 0.3%, SWI:0.2%
    [EVE1 ] 45.984841 s:
    [EVE1 ] 45.984993 s: LOAD: TSK: SYSTEM_TSK_MULTI_MBX: 75.0%
    [EVE1 ] 45.985268 s: LOAD: TSK: MISC : 0.2%
    [EVE1 ] 45.985481 s:
    [EVE2 ] 46.086744 s:
    [EVE2 ] 46.086866 s: LOAD: CPU: 72.9% HWI: 0.3%, SWI:0.2%
    [EVE2 ] 46.087140 s:
    [EVE2 ] 46.087293 s: LOAD: TSK: SYSTEM_TSK_MULTI_MBX: 72.3%
    [EVE2 ] 46.087537 s: LOAD: TSK: MISC : 0.1%
    [EVE2 ] 46.087750 s:
    [EVE3 ] 46.188800 s:
    [EVE3 ] 46.188952 s: LOAD: CPU: 73.2% HWI: 0.3%, SWI:0.1%
    [EVE3 ] 46.189227 s:
    [EVE3 ] 46.189379 s: LOAD: TSK: SYSTEM_TSK_MULTI_MBX: 72.5%
    [EVE3 ] 46.189654 s: LOAD: TSK: MISC : 0.3%
    [EVE3 ] 46.189867 s:
    [EVE4 ] 46.290703 s:
    [EVE4 ] 46.290855 s: LOAD: CPU: 0.5% HWI: 0.2%, SWI:0.1%
    [EVE4 ] 46.291099 s:
    [EVE4 ] 46.291282 s: LOAD: TSK: MISC : 0.2%
    [EVE4 ] 46.291496 s:
    [IPU2 ] 46.392515 s:
    [IPU2 ] 46.392576 s: LOAD: CPU: 0.8% HWI: 0.4%, SWI:0.3%
    [IPU2 ] 46.392698 s:
    [IPU2 ] 46.392789 s: LOAD: TSK: MISC : 0.1%
    [IPU2 ] 46.392881 s:
    [IPU1-0] 46.492984 s:
    [IPU1-0]
    [IPU1-0] ====================
    [IPU1-0] Chains Run-time Menu
    [IPU1-0] ====================
    [IPU1-0]
    [IPU1-0] 0: DeInit Chain
    [IPU1-0]
    [IPU1-0] 1: Stop Chain
    [IPU1-0] 2: Start Chain
    [IPU1-0]
    [IPU1-0] p: printStatistics
    [IPU1-0]
    [IPU1-0] c: PRINT_CORE_PRF_LOAD
    [IPU1-0]
    [IPU1-0] b: printBufferStatistics
    [IPU1-0]
    [IPU1-0] Enter Choice:
    [IPU1-0]
    [IPU1-0] 51.303178 s:
    [IPU1-0] 51.303269 s: DISPLAY: Start in progress !!!
    [IPU1-0] 51.303330 s: DISPLAY: Start Done !!!
    [IPU1-0] 51.304977 s: DISPLAY: Start in progress !!!
    [IPU1-0] 51.305038 s: DISPLAY: Start Done !!!
    [IPU1-0] 51.311840 s:
    [IPU1-0]
    [IPU1-0] ====================
    [IPU1-0] Chains Run-time Menu
    [IPU1-0] ====================
    [IPU1-0]
    [IPU1-0] 0: DeInit Chain
    [IPU1-0]
    [IPU1-0] 1: Stop Chain
    [IPU1-0] 2: Start Chain
    [IPU1-0]
    [IPU1-0] p: printStatistics
    [IPU1-0]
    [IPU1-0] c: PRINT_CORE_PRF_LOAD
    [IPU1-0]
    [IPU1-0] b: printBufferStatistics
    [IPU1-0]
    [IPU1-0] Enter Choice:

  • The chain doesn't support "restart" from STOP state.

    Once in STOP state, it has to go to "Delete" next.

    After "Delete", you can start the chain again by "Create" and "Start".

    Regards,

    Stanley