找回密码
 立即注册
  • QQ空间
  • 回复
  • 收藏

Apple M1 Max功耗分析和探讨

Apple M1 Max功耗分析和探讨
回复

使用道具 举报

大神点评(1)

yqblz 2024-11-5 19:11:30 显示全部楼层
在计算机系统领域,Apple M1 Max芯片的问世无疑引领了一场对高性能与低功耗的革命性认知。作为计算机系统结构方向的博士研究生,我对M1 Max芯片的功耗分析充满浓厚兴趣。因此,当M1 Max在北美发布后,我立即购买了一台配备32核GPU与32GB内存的高配版MacBook Pro。在收到设备后,我投入大量时间搭建自动化测试环境,编译并移植各种基准测试程序。经过一个半月的测试,我终于能够分享这份详细的功耗分析结果。

在功耗测试中,我选取了媒体播放、日常操作、生产力应用与游戏四大类共21个场景,确保测试条件为关闭所有后台应用及断开电源电缆,采用全屏化操作。测试核心工具是MacOSX自带的Powermetrics命令行工具,这可能基于苹果的功耗模型,与Intel的Rapid Acceleration Power Loss (RAPL) 相似。在测试中,已将Idle Power和Powermetrics带来的微量功耗扣除。

在媒体播放、日常操作与生产力应用场景下,M1 Max的平均功耗仅为2瓦左右,其中内存功耗(6400 LPDDR5)贡献了约500毫瓦,CPU功耗则为370毫瓦。这一数据再次验证了手机SoC上内存功耗不可忽视,甚至在某些情况下超过CPU功耗的结论。M1 Max的GPU在内部工具显示为Apple G13X,平均功耗仅为133毫瓦,在去除异常场景后,平均功耗降低至55毫瓦。对比之下,我的Geforce 1080Ti在Win10全闲置状态下,GPU核心功耗为15瓦,板级功耗为23瓦,Apple G13X在能耗比方面展现出显著优势。

在Facetime Video Call场景中,ANE(Apple Neural Engine)被唤醒,功耗为689毫瓦,其他场景功耗读数基本为0,显示AI加速器的应用对于苹果来说仍面临挑战。游戏场景下,CPU、GPU与内存的功耗分布接近1:1:1,这与高通先前公布的《堡垒之夜》测试结果相吻合。有趣的是,《Asphalt 8》在游戏场景中,CPU消耗了5瓦功耗,超过了某些CPU密集型基准测试,而GPU功耗仅为800毫瓦。

在benchmark测试中,整个SPECCPU2006、SPECCPU2017与ARM原生的Geekbench5的测试结果产生2.5至3.5瓦的CPU功耗,以及0.5至2.5瓦的内存功耗(浮点类应用内存功耗稍高)。这些结果与日常场景、生产力场景与游戏场景的功耗分布不符,因此对于benchmark的功耗代表性,个人持保留态度。

在真实场景下,M1 Max的大小核并非持续活跃,而是在10%-30%的时间内处于活跃状态,并且在活跃状态下的平均工作频率不高。大核平均工作频率为1075MHz(重度网页浏览时可达1.8GHz),小核平均频率为1289MHz,这导致了mobile CPU功耗远低于Intel设计。对比使用Intel i9的MacBook Pro 2019,CPU频率低于2GHz时会明显卡顿,而M1 Max在1.2GHz的平均小核频率下,系统基本感受不到卡顿现象。通过分析retired instruction的来源,可以得出大小核的工作量分配比,真实场景中,小核分担了30%-70%的工作量,这与流行benchmark的覆盖情况存在差异。

功耗分析揭示了苹果低功耗设计的优势,但也引发了对于国内同行们发展类似功耗模型的需求。Powermetrics的功耗数据精度未知,但根据Intel RAPL相关论文中公布的情况推测,准确率较高。如何实现苹果级别的gating与动态电压频率缩放(DVFS)也值得研究,例如Intel论文中提到的不同场景下CPU主频与实际性能并非简单的线性关系。游戏场景中出现CPU功耗高于GPU的现象,表明这需要进一步的研究分析,以了解导致这种特征的代码特性。流行benchmark从功耗上难以反映真实场景下的大小核负载分配和DVFS带来的性能与功耗变化,需要一套更好的benchmark来实现这一目标。

除了功耗分析外,CPU与操作系统的低功耗设计垂直整合也是新的挑战。例如,在窗口模式下运行的同一个App切换至全屏模式后,M1 Max的功耗会显著降低,推测与后台任务被挪至小核上、电压频率进一步调低或直接让后台任务进入睡眠状态有关。

M1 Max的GPU在500毫瓦的功耗水平上实现了A76级别的性能,小核承担日常任务的30%-70%,这为海思和其他有志于自研核的团队带来了挑战。在未来的文章中,我将加入12900KF的功耗数据,并对比Intel过去十年中连续五代微架构的性能。

在功耗分析之外,我还在进行MacOSX内核模块的编写,以获取被苹果封印的M1 Max性能计数器数据,包括8发射下的分支预测性能损失等关键指标。这一工作成功后,将揭示M1 Max在性能方面的更多细节。

本文的功耗分析结果和讨论对计算机系统设计、低功耗技术、AI加速器应用以及CPU与操作系统整合等方面提供了新的见解,对于国内同行和研究团队具有一定的参考价值。
回复 支持 反对

使用道具 举报

说点什么

您需要登录后才可以回帖 登录 | 立即注册
HOT • 推荐