Hi,
I am trying to figure out a good way to profile my program running on DSP (in the OpenCL runtime). Normally, when developing on an ARM or x86 CPU, I would for example, #include <sys/time.h>, and then use the struct timeval and function gettimeofday to set a timestamp and then get delta times from the tiemstamp throughout my code in order to measure how long different sections of code take to run (with more or less microsecond accuracy). Is there something similar to this available when programming for the DSP?
I have looked in various locations for include files that might expose a high resolution timer functionality:
ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.0/include
tisdk/filesystem/tisdk-rootfs-image-am57xx-evm/usr/share/ti/opencl
tisdk/filesystem/tisdk-rootfs-image-am57xx-evm/usr/share/ti/cgt-c6x/include
etc.. But I have not found something similar to the sys/time.h API
I began to investigate DSP simulators here: processors.wiki.ti.com/index.php/Category:Simulation, but then ran into this information:
"CCSv6 does NOT have any simulators. Texas Instruments is moving away from providing simulators and instead is focusing on providing low cost development boards." (per processors.wiki.ti.com/index.php/List_of_Simulator)
So it looks like the simulator path is a non-optimal one. My research thus far has indicated that CCS has some code profiling features for DSP, but I would like to do runtime profiling outside of a debugging environment. I want to profile my code without the use of JTAG or other debugging support, in as real-world of an environment as possible (read minimally intrusive), in order to capture the full dynamics of the OpenCL dispatch, compute device processing, and IPC overhead.
Thanks,
Weston