3

首先,我不知道我应该在这里还是在电子堆栈交换中问这个,所以如果你认为我应该在那里问,请告诉我。

我有兴趣测量英特尔 CPU 中每个 CPU 内核的能耗。我已阅读英特尔的英特尔 64 位开发人员手册,据我了解,RAPL 将为以下方面提供能量估算:

  • 整套
  • 核心
  • 未指定的 Uncore 设备(仅在客户端处理器中)
  • DRAM(仅在服务器处理器中)

这表明我能追求的最好结果是 CPU 中所有内核的总能耗值。但是,我也知道“RAPL不是模拟功率计,而是使用软件功率模型”,根据https://01.org/blogs/2014/running-average-power-limit-%E2%80 %93-rapl

我想知道的是,这个模型的工作方式是已知的还是公开的?而且,是否可以使用 RAPL 或其他接口提供的指标来估算单个内核的功耗?我知道,如果英特尔不通过 RAPL 提供此信息,则可能无法获得,但我想至少找到一个可以证实这一点的来源。

谢谢你的帮助!

4

1 回答 1

0

这是一篇关于不同工具的文章,您可以使用这些工具来获取不同操作系统的能量测量值。如果您使用的是 Linux,请考虑使用Perf,因为它使用 RAPL 接口来获取能量测量值。据我所知,Perf 不提供每个内核的能源消耗,而是作为一个整体(包)提供,您可以使用以下命令获取可执行文件(任何类型:Python、Java、SHELL、C 等)的能源测量命令:

sudo perf stat -e power/energy-cores/ ./executable
于 2021-11-15T18:36:13.150 回答