Can't find UNC_QMC_NORMAL_READS and UNC_QMC_WRITES events on Nehalem

Can't find UNC_QMC_NORMAL_READS and UNC_QMC_WRITES events on Nehalem

hwang121's picture

Hey guys

I download an evaluation version: vtune91_008_lin.tar and try it on a nehalem node.

I want to get the number of two events: UNC_QMC_NORMAL_READS and UNC_QMC_WRITES, but I got the below error information:

[wangh@nehalem04 ~]$/opt/intel/vtune/bin/vtl activity jacobi-ld -d 600 -c sampling -o "-cal yes -ec -en='CPU_CLK_UNHALTED.THREAD' -en='UNC_QMC_NORMAL_READS.ANY' -en='UNC_QMC_WRITES.FULL.ANY'" -app ./vtune.app.run run

VTune Performance Analyzer 9.1 for Linux*. 30 DAY EVALUATION LICENSE build 432
Copyright (C) 2000-2009 Intel Corporation. All rights reserved.

Sampling collector options are incorrect: bad event name: 'UNC_QMC_NORMAL_READS.ANY'

I check the events list, but still can't find these two events:

[wangh@nehalem04 ~]$ /opt/intel/vtune/bin/vtl query -c sampling > events.lst
[wangh@nehalem04 ~]$ cat events.lst | grep UNC
MEM_UNCORE_RETIRED.LOCAL_DRAM
MEM_UNCORE_RETIRED.OTHER_CORE_L2_HITM
MEM_UNCORE_RETIRED.REMOTE_CACHE_LOCAL_HOME_HIT
MEM_UNCORE_RETIRED.REMOTE_DRAM
MEM_UNCORE_RETIRED.UNCACHEABLE
[wangh@nehalem04 ~]$

But, we should find them in Nehalem processor, right? Any comments?

Thanks

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
vladimir-tsymbal (Intel)'s picture

Hi,



VTune Performance Analyzer uses the Sampling collector driver to collect PMU events in the Core of a microprocessor. Very simplified description is: microprocessors PMU is programmed by VTune to count an event(s), and when the counter exceed a threshold [which is set by user], PMU generates HW interruption which in its turn caught by the drivers interruption handler and gathered IP, PID, TIP and some other context information this we call Sampling. This works for all CORE events, meaning all the counters that are located in the CPU cores.

There are UNCORE events, which are being counted outside any CPU core, e.g. memory agents, etc. In fact, there is no sense in collecting CPU core context information when Un-core counter exceeds some threshold we couldnt map that event to any of the Cores for the moment, so the context information would be useless. Therefore, un-core events are not supported in Sampling mode. However, un-core events can be collected in counting mode. Its not trivial and requires some additional efforts. Please, refer to the Intel 64 and IA-32 Architectures Software Developers Manual (Uncore Performance Monitoring Management Facility chapter).

See the example of measuring memory bandwidth on Nehalem processor:http://software.intel.com/en-us/articles/how-do-i-measure-memory-bandwid...

-Vladimir

Login to leave a comment.