【发布时间】:2021-08-27 17:03:05
【问题描述】:
首先,我不知道我应该在这里还是在 Electronics StackExchange 中提问,所以如果您认为我应该在那里提问,请告诉我。
我有兴趣测量英特尔 CPU 中每个 CPU 内核的能耗。我已阅读英特尔的英特尔 64 位开发人员手册,据我了解,RAPL 将为以下方面提供能量估算:
- 整个包
- 核心
- 未指定的 Uncore 设备(仅在客户端处理器中)
- DRAM(仅在服务器处理器中)
这表明我可以追求的最佳值是 CPU 中所有内核的总能耗值。不过我也知道“RAPL不是模拟功率计,而是使用软件功率模型”,https://01.org/blogs/2014/running-average-power-limit-%E2%80%93-rapl.
我想知道的是,这个模型的工作方式是已知的还是公开的?而且,是否可以使用 RAPL 或其他接口提供的指标来估算单个内核的功耗?我知道,如果英特尔不通过 RAPL 提供此信息,则可能无法获得,但我想至少找到一个可以证实这一点的来源。
感谢您的帮助!
【问题讨论】:
-
如果“其他接口”包括构建您自己的具有 CPU 电源线电流测量能力的主板,那么是的,可以检查功耗。或者在 CPU 稳压器的 12V 电源上使用电流表进行适当的近似,因为现代主板通常使用与电源分开的电缆来供电;效率 > 90% 的假设可能足够接近,不会成为大的错误来源。如果有人以前这样做并发表了一些关于它的东西,我不会感到惊讶。
-
哇,我不知道功率测量是使用微控制器完成的,该微控制器对一些物理量(例如:温度)和一些架构事件进行采样,然后将这些事件馈送到软件模型中。如果有任何关于它的内容,那就是专利(尝试在 Google 专利中搜索“a combination of Intel”、“PMA”、“PCU”、“RAPL”)。关于每个核心的威力,我认为不可能。核心通常是 RAPL 域 P0,所有这些。我猜你想要实时测量,而不是仅仅停止一个核心以外的所有核心(由于 TB 会使测量产生偏差)。
标签: cpu intel cpu-architecture energy msr