getting cache miss information for particular memory accesses
Using VTune, we can look at the various cache miss statistics. However that is a system wide view for all cache misses. Suppose I have a few locations in my program that I really want to find out if they are resulting in cache misses. Is there some way of doing this ? I do not think VTune per se will help, but is there some other low level programmatic way I can find this information?
I got a little bit confusion that VTune Analyzer can collect event count for all active programs in your system. Processes Report organizes the data on each process, and you can drill down to Threads Report, Modules Report and Hotspot (functions) Report. Is there any problem to view?
If you found a few locations in your program, you probably review your code to find some source line(s) - which did frequent data load, or data store?Used split cache? Used unaligned cache? Used cache shortly and do other load? Used many shared data for different threads to cause cache flushs (on Core 2 architecture?) ?
Usually you can evaluate the thing is better or bad. You can know total count of memory load / store, and L2 cache misses, so performance impact rate = 100% * (misses / (loads + stores))