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.

profiler in CCS?

    hi, everyone. I have a question confused me which I used the profiler in CCS3.3 to test a function run time while the result is Incl.average 41xxxxx, and Excl.average is 21xxxxx. the result between Incl.average and Excl.average is huge different, anybody can tell me the possible reason?

        also, there is another question, C6747 chip have a feature of 2400 MIPS/1800 MFLOTS, which mean a instruction need only 0.4ns. as we know C6747 CPU clock max is 350Mhz, which means the max clock period is 3ns. the two information are huge different, what reason? know CPU: 6747, CCS:3.3(3.3.82.13), configuration is C67xx simulator.

  • Hi Thomas,

    thomas yang78259 said:
    . I have a question confused me which I used the profiler in CCS3.3 to test a function run time while the result is Incl.average 41xxxxx, and Excl.average is 21xxxxx. the result between Incl.average and Excl.average is huge different, anybody can tell me the possible reason?

    The inclusive count should always be larger than the exclusive. Exclusive counts are the cycles spent in the just function being profiled. It will not include counts spent in sub functions. Inclusive counts will include all the cycles spent in the sub function.

    thomas yang78259 said:
    also, there is another question, C6747 chip have a feature of 2400 MIPS/1800 MFLOTS, which mean a instruction need only 0.4ns. as we know C6747 CPU clock max is 350Mhz, which means the max clock period is 3ns. the two information are huge different, what reason? know CPU: 6747, CCS:3.3(3.3.82.13), configuration is C67xx simulator.

    This question is best answered by the simulation team. I will draw it to their attention but note that because CCSv3.3 is not a supported product and on top of that the single core C6x simulators are limited regardless of CCS version, the response may be delayed.

    thanks

    ki

  • ok, I also find a "fact" which the simulator almost not the same with eumlator test result, sometimes the difference is huge, can you give some reason? or how the get the reasonable result on the real platform from simultor mode!

     thank you!

  • thomas yang78259 said:
    ok, I also find a "fact" which the simulator almost not the same with emulator test result, sometimes the difference is huge, can you give some reason?

    Some difference is expected when comparing results from a simulator and real hardware. The difference can be huge depending on the simulator. For example, CPU simulators are just a core simulator with no peripherals simulated and a flat memory system (no cache modeling, no wait states to access external memory). Hence it really not the best option for profiling. Functional simulators model more of the peripherals of the device and the memory hierarchy but it is not cycle accurate in the sense that all memory accesses are just 1 cycle (I think). The best is a "device cycle accurate simulator". This will model the peripherals and memory hierarchy with wait states and such factored in. This will get you the closest results. But of course the device simulators model most but not all. So it is not perfect. But usually it is good enough. You need to read the description of the simulator to see what is modeled and if it is enough for your needs.

    Also note that using the CCS function profiler on C6000 HW is not recommended because the results can be pretty inaccurate. This is why we removed support for CCS function profiling in v4 and v5. If you are comparing results between the device simulator and actual hardware, it does not surprise me at all that you see a big difference and I would trust the numbers from the device simulator than the ones from the actual hardware.

    Thanks

    ki