Bandwidth estimate across memory/DDR controller

Hi Folks,

Would it be possible to measure memory traffic using nvprof, or any other way, for my Tx1/Tx2 opencv application ? I think I’m missing the right option for that ? Would it be possible to measure memory read traffic and write traffic separately ?

Thanks,

Hi,

We have more tool to check allocated memory amount.
Ex, tegrastats, cudaMemGetInfo.

You can calculate bandwidth by combining the information execution time.
Please check this sample for details:
‘/home/nvidia/NVIDIA_CUDA-8.0_Samples/1_Utilities/bandwidthTest/’

If you are looking for the L1/L2 cache information, please check TegraSystemProfiler.
TegraSystemProfiler can be download via JetPack directly.

Hi AastaLLL,

Thanks for the pointer. I started learning up TegraSystemProfiler.

  1. I could not find an option in TegraSystemProfiler where I can measure DDR read traffic and DDR write traffic. Could you please help ?

  2. My intention is to measure how many frames my opencv/gstreamer application is reading and writing (per second) ? Please not that my application does not use any CUDA kernel yet. I would simply like to get an estimate of bytes read and bytes written from/to DDR on per second basis.

Thanks

Hi,

TegraSystemProfiler can record cache miss information, but it can’t record memory traffic.

System profiling options > Collect PMU counters > L1 caches misses: read

We have another profiling tool that can measure Graphics memory(via GL/EGL) traffic.
https://docs.nvidia.com/jetpack-l4t/index.html#developertools/mobile/tegra_graphics_debugger/tegra_graphics_debugger_main.htm
But this tool can only record the traffic go through the GL/EGL API.

In your use-case,
It’s recommended to find some third-party application that can monitor memory traffic on Ubuntu.

Thanks and hope this help.