【发布时间】:2021-06-10 00:28:33
【问题描述】:
我有一个Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHz (Haswell) 处理器。随着时间的推移,我需要检索对每个 DRAM rank 的 访问次数,以 估计 其功耗。根据芯片组文档的261 页(即Datasheet, volume 2 (M- and H-processor lines)),我可以使用寄存器RAM—DRAM_ENERGY_STATUS 中的32 位值作为DRAM 能量估计。但我需要排名级别的能量估计。我还可以使用 core 和 offcore DRAM 访问性能计数器来估计功耗,但是,如前所述,我需要 per-排名统计。 除此之外,他们报告整个系统统计数据,而能量按等级计算。他们也确实不报告许多 DRAM 访问。
因此,IMC 计数器(即 uncore 计数器)应该是理想的选择。 Perf不支持per-rank计数器。我尝试使用PCM-Memory 访问IMC 柜台信息。但是/sys/bus/event_source/devices/uncore_imc 是不由内核安装的(版本是5.0.0-37-generic)并且该工具确实不检测CPU。我尝试手动访问uncore性能计数器。 整个系统 DRAM 访问计数器已记录在案,here(它们未记录在上述芯片组手册中)。我可以使用这些计数器检索 total DRAM read 和 write 访问。但是,没有关于频道或等级访问统计的信息。如何找到与这些计数器相关的偏移量?我应该使用反复试验吗?
P.S.:这个问题也在Intel Software Tuning, Performance Optimization & Platform Monitoring Forum问。
【问题讨论】:
-
请注意,同时交叉发布 (https://community.intel.com/t5/Software-Tuning-Performance/Performance-Counter-for-DRAM-Per-Rank-Memory-Access/m-p/1263575) 并不酷,尤其是在没有将它们链接在一起的情况下,因为这可能会导致多人的努力浪费。
-
@HadiBrais,但是在多个论坛中提问会增加答案的概率。因为不是一个论坛的所有成员都会成为另一个论坛的成员。什么是替代解决方案?
-
对,但不应该发生不同的人努力为同一个问题基本上发布相同的答案。您可以在一个论坛上发布问题,等待几天,如果没有人提供好的答案,然后将其发布到其他地方。将问题相互关联也是一种很好的做法,这样任何论坛的人都可以看到关于同一问题的所有活动。
-
@HadiBrais,我在两个论坛中都添加了链接。
标签: performancecounter perf energy memory-access intel-pmu