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.

TDA2EVM5777: SSD Object Detection Model running on EVE and DSP

Part Number: TDA2EVM5777

Hello,

I am using pre-imported ssd object detection model given in TIDL Test app. 

Setup : 
1. TDA2x EVM Board is connected to CCS using XDS560 JTAG.
2. Build and generated eve_test_dl_algo.out  and dsp_test_dl_algo.out (release mode) for test app (in tidl folder)
3. Using CCS, Load Program : eve_test_dl_algo.out executed on EVE or dsp_test_dl_algo.out executed on DSP 

First Experiment: 

I ran full model on EVE, with  layersGroupId = 1 runFullNet = 1

Second Experiment:

I ran full model on DSP, with layersGroupId = 2 runFullNet = 1

Third Experiment:

I ran only EVE part model, with layersGroupId = 1 runFullNet = 0

Fourth Experiment: 

I ran only DSP part model, with layersGroupId = 2 runFullNet = 0

I have attached 4 logs and 4 infer config files for each experiment. PFA

DSP Freq: 600 MHZ

EVE Freq: 535 MHz

Queries :

1. Execution Time:

Full EVE 1553601318 2.903 seconds
Full DSP 951400000 1.585 seconds

Part EVE

103899088 0.194 seconds
Part DSP 4164380000 6.940 seconds

What is the expected execution time?  According to datasheet  EVE Part Execution takes 93.69 Mega Cycles and DSP Part Execution takes 13.01 Mega Cycles.

Total Execution Time: 175 ms + 0.021 seconds = ~ 0.2 seconds

Can you comment on execution time that i have calculated from the above experiment?

2. How to execute Part DSP ?

-  Part DSP execution time is very high, and from the log we can see most of the cycles are consumed by DetectionOutput Layer

-  Please check the infer config file part dsp execution which i have attached. 

3. If i am comparing TSC Cycles for each layer of EVE Full Execution (Layer 0 to Layer 43) and EVE Part Execution (Layer 0 to Layer 39), are matching. But, Same for DSP Full Execution (Layer 0 to Layer 43) and DSP Part Execution (Layer 22 to Layer 43) are not matching

- Please comment on this

4. Obj Release vs Source Release

-  I am observing different TSC Cycles for the same input models for test app using obj release Algo and test app using source release Algo

-  Test App from REL.TIDLSRC.01.01.00.00  and Test App from REL.TIDL.01.01.00.00

-  Can you share information about How to build Algo Libs from source release (Important Flags/Macros to disable or enable) for board? 

-  Size of the eve release algo lib built by me from sources is (tidl_algo.lib) 3051 KB whereas default obj release size is (tidl_algo.lib) 2748 KB 

Regards,

Sagar

attachement.zip

  • Hi Sagar,

    Regarding the Execution times,

    1.  Full EVE - looks fine, it is expected as we did not optimise the Detection output layer on EVE

    2.  Full DSP- looks fine, it is expected as full Net is not functional on DSP because of cache issues and will be fixed in next release

    For part EVE and DSP times, please execute them again using attached infer config files and check.

    rawImage    = 1
    numFrames   = 1
    preProcType  = 4
    traceDumpBaseName   = ".\trace_dump_"
    updateNetWithStats   = 0
    netBinFile     = ..\..\test\testvecs\config\tidl_models\jdetnet\tidl_net_jdetNet_ssd.bin
    paramsBinFile        = ..\..\test\testvecs\config\tidl_models\jdetnet\tidl_param_jdetNet_ssd.bin
    
    readQ  = 1
    writeQ = 1
    
    inData   = "..\..\test\testvecs\input\trace_dump_0_768x320.y"
    outData   = ".\stats_tool_out_eve.bin"
    
    layersGroupId = 1
    runFullNet = 0
    
    
    
    

    rawImage    = 1
    numFrames   = 1
    preProcType  = 4
    traceDumpBaseName   = ".\trace_dump_"
    updateNetWithStats   = 0
    netBinFile     = ..\..\test\testvecs\config\tidl_models\jdetnet\tidl_net_jdetNet_ssd.bin
    paramsBinFile        = ..\..\test\testvecs\config\tidl_models\jdetnet\tidl_param_jdetNet_ssd.bin
    
    readQ  = 1
    writeQ = 1
    
    inData   = ".\stats_tool_out_eve.bin"
    outData   = ".\stats_tool_out.bin"
    
    layersGroupId = 2
    runFullNet = 0
    
    
    
    

    Thanks,

    Praveen