首页 > 解决方案 > Intel的RAPL是如何估算功耗的

问题描述

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

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

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

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

谢谢你的帮助!

标签: cpuintelcpu-architectureenergymsr

解决方案


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

sudo perf stat -e power/energy-cores/ ./executable

推荐阅读