I am wondering how does Vtune Memory Consumption calculated? From this plot in this link:
I think the memory consumption should be similar to PEAK mem. Am I correct on this?
For my program, when it's running, I actively query the PID’s resident memory (RES) in “top” command, with a sampling interval of 10ms. Then I get a different number.
In my case, the Vtune memory consumption reported is 91G, however the PEAK memory I got from top command is only 67G. Why there is a different? Thanks in advance!
During Memory Consumption analysis, the VTune Profiler data collector intercepts memory allocation and deallocation events and captures a call sequence (stack) for each allocation event (for deallocation, only a function that released the memory is captured). VTune Profiler stores the calling instruction pointer (IP) along with a call sequence in data collection files, and then analyzes and displays this data in a result tab. For more details please refer to the user guide - https://software.intel.com/content/www/us/en/develop/documentation/vtune-help/top/analyze-performance/algorithm-group/memory-consumption-analysis.html
Please note that top is showing the memory consumption at a given point in time for a particular process ID, while VTune is showing total memory consumption on a function basis (in the table that you are showing).
If you still think that there is a mismatch in the memory consumption numbers reported by VTune and other tools, please share a reproducer along with your vtune result folder and I will be happy to investigate further.
Having not heard from you in a while, I am having to close this case.
“This issue has been assumed to be resolved and we will no longer respond to this thread. If you require additional assistance from Intel, please start a new thread. Any further interaction in this thread will be considered community only”.