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.

SK-TDA4VM: Ask about pyramid from TIOVX

Part Number: SK-TDA4VM

Tool/software:

Hi supporter,

I'm trying to run tiovx and facing issues for that. If you known that before and can help me, please share here, thank you in advance !

1/ I don't see source code for list API for "TI Extension Kernels" as link https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/tiovx/docs/user_guide/SUPPORTED_KERNELS.html

Someone has known that in somewhere, please share it for me.

2/ Same link as above, one big my concern now that related to table has defined "Remote Core(s)". In my understanding that TI has dedicated core running for TI Extension Kernels. And we can not change it to run in different target core by using the vxSetNodeTarget() API. Right ?

3/ In case i don't have debugger device. How can i check Node with running right target core as my expected ?

4/ I'm training to use gprof tool also to measure time calling TIOVX APIs. How it will be taken in my program. But looking in output report, it is always keeping value Zero '0' time for all APIs. So someone know what issues for that running from SK-TDA4VM board ?

  • Hi,

    Our TIOVX expert is out of office till the 25th of this month. Please expect a delay in responses.

    Regards,

    Josiitaa

  • Hello Anh Vo Tuan,

    The TIOVX expert is out of the office till Sep 25th. In the meantime, here are the initial clarification and follow-up questions.

    I'm trying to run tiovx and facing issues for that. If you known that before and can help me,

    Can you explain in detail what you are running at the tiovx level and what issue you are facing so we can guide you here? Without this, we cannot anticipate what issue you may be facing!

    The supported kernel is implemented and released as vxlib, which is part of the PSDK RTOS tar package. Suggest going to https://www.ti.com/tool/download/PROCESSOR-SDK-RTOS-J721E and downloading ti-processor-sdk-rtos-j721e-evm-10_00_00_05.tar.gz file.

    Untar this file. We suggest looking at the folder <INSTALL_PATH>/vxlib/packages/ti/vxlib/src for these kernel implementations.

    2/ Same link as above, one big my concern now that related to table has defined "Remote Core(s)". In my understanding that TI has dedicated core running for TI Extension Kernels. And we can not change it to run in different target core by using the vxSetNodeTarget() API. Right ?

    These are the suggested remote cores where we want to run the kernels as defined in the SDK. Can you tell us which kernel you want to change to run on a different target core and why?

    3/ In case i don't have debugger device. How can i check Node with running right target core as my expected ?

    You can check the debug log generated at runtime on the respective cores.

    4/ I'm training to use gprof tool also to measure time calling TIOVX APIs. How it will be taken in my program. But looking in output report, it is always keeping value Zero '0' time for all APIs. So someone know what issues for that running from SK-TDA4VM board ?

    Can you provide more details on the gprof tool you mentioned here and how you are using it so that we can comment?

    Thanks.

  • hi , thank you for your feedback.

    About point (1), i have got answer when i have download and check PSDK package from link. (in previous i have used git repository link to download as manifest file for PSDK. But looking and comparation both packages, i saw it really different. Btw, i got source code package related to API as asking)

    About point (2), in my purpose to understand deeply on TI's VPAC hardware and OpenVX (here is tiovx software package design/implementation) also. From that, it will have me for mapping resource used into right hardware to archive performance and resource load using in my project. That is really important for my project now when i am running optimization phase. Because information from link https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/tiovx/docs/user_guide/SUPPORTED_KERNELS.html and vxSetNodeTarget() that i have tried. It has got result different (with some failed when i have tried to decide one kernel running in different hardware core such as A72 or R5F or DSP (C7xxx/C6xxx). If you are possible to join a short call. We can arrange a call to discuss in more detail on it.

    About point (3), it is same idea with point (2). But I need to have information from this question. That if you have method to check real hardware core running with VPAC based on tiovx implementation.

    About point (4), i have added compiler option "-pg" when i build my program. After that, i will run it and collect measurement data at the end running program. gprof will process that data to me can understand how time running one function from start to end of the function.

  • any support for me on these issues ?

  • Hi,

    2/ Same link as above, one big my concern now that related to table has defined "Remote Core(s)". In my understanding that TI has dedicated core running for TI Extension Kernels. And we can not change it to run in different target core by using the vxSetNodeTarget() API. Right ?

    The DSP libs are typically run on the DSP cores (i.e. C66x) as they are optimized for the same. You can choose which DSP core to run using the API vxSetNodeTarget()

    In case of VPAC and DMPAC, they are fixed to run on MCU2_0 and MCU2_1 cores respectively.

    Any other custom kernels can be run on any cores (as long as they are registered on that core). You could choose the core using vxSetNodeTarget() API.

    In case i don't have debugger device. How can i check Node with running right target core as my expected ?

    in this case, we have remote logging which would enable logs from remote cores with their tag on.

    So, before running the application, if you run ./vision_apps_init.sh, this would print all the remote core init logs and further when you run the application, it would print the logs from the respective remote core under the tag [MCU2_0] or [MCU2_1 or [C66x_2] etc.

    4/ I'm training to use gprof tool also to measure time calling TIOVX APIs. How it will be taken in my program. But looking in output report, it is always keeping value Zero '0' time for all APIs. So someone know what issues for that running from SK-TDA4VM board ?

    You can use the perf_stats tool for the same.

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/vision_apps/docs/user_guide/group__group__vision__apps__utils__perf__stats.html

    You can find the usage of these APIs in all the vision_apps based demos.

    Regards,

    Nikhil