GPU能耗评分专项方案、来源质量与Metal场景准入
唯一范围和基线
唯一类型devlog。正式54/66、剩12,CPU新五轮及最终全部源/host SHA与10审计重算通过,提交08673b5ca263c9fab1da9d0307f7d9eacd89bf6e已GitHub核同;GitLab一次SSH连接关闭、网站生产一次上传失败、Webhook缺配置,交付partial沿Owner授权继续。Mac221/Lab33,Apple Development仅本机内部、公证暂缓。Owner授权同一AI方案、实现、测试与分离核验,无子代理。唯一当前GPU Energy,正式0/5,历史54项不重测,不复用CPU/Total五轮。
当前软件调查(E2,手机动作0)
当前真实RealtimeMetricProjector在仅请求GPU cost、目标已核的情况下收到一次1.25,新snapshot在arrival age0.1/9/99秒均重复1.25;RawMetricEngine目标42但唯一字典为99时输出22.5/candidate。初次调查脚本两次API使用错误(observe不存在、把MetricFrame当MetricValue)原工具输出保留,修正为实际consume/values helper后才取得上述结果。不解释为手机已发生错值。私有准备根20261025-energy-gpu-preparation-01/initial-gpu-investigation-private.json保存源码SHA与结果。
现有LabGPUPlan.renderer为baseline20秒、三档各30秒(256²/1draw/1iteration、512²/1/16、1024²/1/64)、recovery30秒,共140秒,requestedHz30、每30次提交抽取一次计时。每档上限30秒、总上限180秒、三档固定,不能假设已有135秒连续GPU负载。Metal资源真实提交、completion回执、pending/drain/完成阶段与完整events可证明工作量;严重/危急热或非active立即终止保持,不关闭系统保护。
公式和新来源合同(先于实现)
Registry ios.process.energy.gpu_cost,process,source-native-cost,原字段energy.gpu.cost,公式energy-cost-gauge.candidate.v2。DTX服务com.apple.xcode.debug-gauge-data-providers.Energy,自研EnergyRawAdapter._make_stream调用pymobiledevice3原生EnergyMonitor及startSamplingForPIDs:/sampleAttributes:forPIDs:/stopSamplingForPIDs:。
GPU专属energy-gpu-source-once.v1、标记energyGPUPublicationPolicy:严格服务/channel/selector/adapter/type/unit/decode/drop/身份/生命/generation/epoch/reconnect/序列和host时钟。目标PID必须唯一整数或字符串键对应字典,无单字典fallback。有限非负GPU原值透传/candidate,真实0合法;GPU负值/缺失/bool/非有限为null,有限负Total仍整帧null/source-sentinel。Total缺失不捏造负值;GPU不是使用率/执行时间/W/J,不积分、差分、插值或取整。旧未标记Raw保持旧回放语义。
每源至多发表一次,arrival age0..2秒;无新源/重复/未来/陈旧/回退/错身份均null及明确原因。receipt放processMetricSourceFreshness.gpuEnergyCost,含policy/formula/源序列/adapter序列/arrival/identity/novel/reason,deviceWindowVerified=false。CPU/Total policy独立,未请求GPU应短路,预热与真实采集两options路径一致;不改变其他分项语义。
实施和软件门
新增GPU独立质量模块、adapter标记、Raw严格解析与Realtime发表收据;不重构CPU/Total以免扩范围。增加GPU-only预热/实际流、三policy并存、目标/身份/时序/哨兵/0/历史/未请求短路、生命周期/关闭失败/Stop竞争、writer/checkpoint/seal/derive与Swift Wire→Session→CSV/导出实际消费者控制。运行GPU及CPU/Total共享触点聚焦回归,不重测历史指标。任何失败先保留证据再修复,不以缺参考豁免异常值。
新包Build222须ARM依赖/严格App及DMG签名/独立解包/源码及PYZ核同,标准App空闲正常退出后单址安装,旧221完整回滚保留。手机Lab33已有GPU功能,先验证原配方/回执与兼容性;不为本项擅自扩长阶段、改变热保护或重装手机。
当前参考调查与可控用例
GPU分项重新调查当前官方API、SDK与xctrace实际模板/导出,不仅套用CPU结论。Apple MXGPUMetric.cumulativeGPUTime定义是累计GPU时间,不是私有软件cost;Metal GPUStartTime/EndTime和counter timestamps也只是执行量。Power Profiler公开要求iOS26;当前系统须新只读确认。Energy Gauge逐10秒图示/占比和同源第二EnergyMonitor不能直接作逐1Hz独立真值;电池W不同scope/unit。当前官方文档证实这些定义差异,但尚未完成本项新设备/工具准入与最终参考决定,暂不宣告无参考。
先使用现有完整140秒Metal配方作独占资格:基线20、三档各30、恢复30。固定测量120个1Hz槽覆盖基线/三档/恢复,拟以GPU运行admitted/prepared device tick的直接往返包围上界+10秒后的首计划槽起连续120槽;必须先核事件确切名称与时钟字段,准入合同与独立审计落盘并冻结后才采集,不从结果反选窗口。GPU成本在基线/恢复出现真实0合法,不要求分值必然随GPU时间单调;要求负载期实际提交/成功完成、阶段切换及资源释放完整证据。Metal计时/抽样不是每秒cost真值,自有App不能预设cost伪造对照。至少每档成功completion>0、失败0、提交=完成且pending0、无丢事件和异常退出;实际工作量、纹理字节、尺寸/draw/iterations、GPU时间及限制逐轮保存,具体场景门在资格前进一步冻结。
热恢复沿用已验显式零负载observer:≥600秒真实idle、末尾连续≥300秒nominal/active、间隔≤3秒,ready双时钟≤15秒且实际Session后live再核;最长900秒,任何保护中止保留。资格通过才新独占正式五轮,各120槽,总600,标准GUI唯一Start/Stop;按140秒GPU任务及真实drain上限冻结停止点和Session≤225秒预算,不套用175秒CPU合同。任何正式轮失败整attempt停止,不补轮、不拼历史。
只有全部当前参考候选确认无完整同定义独立数据,且新完整五轮全部正常,才计55/66,标记NO_REFERENCE_ACCEPTED_OWNER_POLICY、referenceAccuracyValidated=false、ownerReviewRequired=false。若参考可在测试App独立采集,则先设计并实现真实参考用例/时钟/同窗误差门后执行,不能跳过。
容量、保全与效率
当前CPU Runs64/64、GPU是否共享同根须新只读真实枚举;不照抄旧容量。手机/主机≥10GiB且≥预计新增量两倍(初估诊断加五轮≤200MiB,真实源码/日志规模复核),开始/批后/每30分钟检查。只对明确已封口/released且源/原host全SHA核同的具体目录文档化保留rename;禁止删Raw/失败/引用/回滚,Exports不动。迁移前后完整树和SHA、真实容量收据通过才新run。旧电脑保全要求不变。
GPU新鲜度状态O(1)、仅请求时执行;120/600槽真实writer/checkpoint/seal三pair before/after、独立进程,对比wall/CPU/RSS/首响应/吞吐/最差与字节;wall/CPU中位≤1.2倍、RSS增≤8MiB、单step≤10ms,物理I/O峰不可得写unknown。审计流式O(N+B)、1MiB chunk,host审计≤120秒/192MiB;完整三根约1,917件/3.8GB核验总体≤380秒、单根≤120秒/192MiB。手机调用串行单个≤8秒,观察/prepare/controller有界1000/30/310秒,无新常驻服务或高频全盘扫描。
下一动作和交付
先最小GPU质量实现与软件/效率及真实Swift消费者,再新222内部包;新设备只读/参考/容量精确保全和GPU资格合同冻结后才采。正式验收后独立窄提交双推(GitLab一次)、知识Canonical/全指标表/总览/真实首页/时间线/阶段门、不可变方案/结果归档、批准Node24.19.0完整站点构建与实际页面链接、受控生产一次发布和Webhook真实收据。同步配置欠项沿Owner授权partial,公证/GPL门继续单列。
Implementation Update · 2026-10-25 · 软件首轮与修正
已新增GPU独立freshness模块与专项控制,接入adapter、Raw严格解析及Realtime两个options路径和收据。首轮聚焦85项/13.551秒,1失败1错误:复制的未请求GPU反控错误地请求了GPU;adapter新增GPU分支时误移动CPU adapterSequence赋值,导致CPU-only控制缺序号。保留energy-focused-a01.log,修正反控及恢复CPU序号赋值,并新增三policy同时启用各自只发表一次控制。第二轮86项/13.457秒全部通过(energy-focused-a02.log,E2),原异步ResourceWarning保留。此为共享软件触点回归,不是重测历史正式指标。新增GPU Wire→Session→存储CSV/导出消费者控制待执行;效率、打包、参考和真机资格尚未完成。当前GPU0/5,整体54/66,未新装包、手机动作0。主机空间只读38GiB可用;未清理证据。
GPU实际Swift消费者控制已通过:1项/0失败,0.012秒(swift-consumers-a01.log,E2);覆盖Wire解码、Session持久化重读、存储CSV及导出中的11.25/null/0/null与质量保留。不是E4验收。
Validation Update · 2026-10-25 · 效率与GPU事件合同调查
基线固定08673b5ca263c9fab1da9d0307f7d9eacd89bf6e,120/600槽各三pair,12个独立进程真实Raw writer/checkpoint/derive/report/seal全部通过,源码pins前后一致(efficiency-a01/result-private.json)。120槽work wall/CPU中位比1.0739/1.0695;600槽0.9994/1.0500;最大单step1.852458ms,最高RSS73,203,712B,物理I/O峰unknown。此为E2本地规模证据。Build222已启动,尚未完成包验证或安装。
实际GPU源码不是prepared事件起算:resources-ready在Metal资源构建后发出,随后才记录systemUptime并开始tick;phase-begin phase0为真实baseline开始,事件machTicks使用mach_absolute_time,manifest含timebase。结束由140秒计划自然plan-finished触发;在飞completion最多3秒后只记drain-timeout并保持锁定,不强制释放。正式窗口应优先用phase-begin/phase0和实测往返时钟包围,不能用准备页面文本prepared替代事件。新直接时钟包围及Stop预算需资格前继续冻结,尚未采集。
Implementation Update · 2026-10-25 · Build222内部包
Build222构建39.959秒,429源码pins不变。App/DMG严格验签、DMG完整性、独立解包12,901常规文件及30symlink完整树核同,319 Mach-O全部含ARM、Intel-only0,5实际PYZ关键模块代码对象与源码一致。标准客户端空闲/正常退出、233件Session均终态后单址安装,安装全树及严格验签通过,旧221 App及DMG全树保留、删除证据0。当前内部包MacApp/dist/Perfowl-1.0.0-222-arm64-internal.dmg,SHA-256 fb8520389f6721ecdf059e30d74d72cab33c2304ecf4110a95616dbab040e10c。Apple Development仅本机内部授权、Gatekeeper3/未公证;不称正式分发完成。手机尚无写入或新采集。
新只读准入(E3)核实手机17.0/Lab33、Mac222,Runs64/64、Exports274、Retired60、手机可用14,006,599,680B,上一负载completed/released;写入/信号/启动/新请求均0。当前Runs已满,先全三根源与原host完整SHA,再文档化精确保留迁移及后SHA,不能直接新run。全SHA正在执行,未迁移。
容量保全精确执行范围 · 2026-10-25(执行前冻结)
只将Runs下energy-cpu-formal-20261025-a01-r1至r5五目录rename到Retired/20261025-energy-cpu-gpu-capacity-preserved-a01同名目录。原host逐轮summary证明全部completed/released,每目录5件,共25件42,404,800B;须迁移前全三根源/原host完整SHA通过,执行时再核全树stat与五summary、目的父目录不存在。单次mkdir/各rename保留intent/ack,不失败盲重试。Exports不变、删除0,预期Runs64→59、Retired60→61;完成后再全三根源/原hostSHA及映射整树一致方能新请求。此次只是释放运行名额,数据仍完整保留于同手机及原host,不释放手机字节。
当前工具新只读调查:Xcode16.4/16F6,xctrace实际模板列表含Metal System Trace及既有GPU Counters模板,不含Energy/Power专门模板。模板名称本身不证明能提供同定义GPU cost;最终参考调查仍待实际schema/当前工具能力证据。
容量迁移前完整三根1,917件/3,814,364,812B源与原host SHA及整树一致,147.937秒/RSS143,212,544B,满足380秒/192MiB门。精确五目录rename执行完成3.852秒,25件42,404,800B完整保留、删除0、请求0,Runs实际59。迁移后全三根SHA正在执行,未通过前仍不新采集。
热恢复准入执行范围 · 2026-10-25
迁移后全SHA通过后,先严格匹配上一CPU r5受保全进程生命及两次稳定观察;只对该自有已released生命一次SIGTERM正常退出,两次确认不存在。若生命改变即停止,不反复退出。之后复用已验Lab33显式零负载observer新nonce energy-thermal-gpu-diagnostic-20261025-a01,最长900秒,至少600秒idle且末尾连续300秒nominal/active,每次手机请求≤8秒,独占observer输出gpu-diagnostic-cooldown-a01。observer不是GPU正式轮,不计分母。沿用原observer开销资格,不重测历史正式指标;新的实测温控证据仍须本项保存。
本机SDK18.5实际MXGPUMetric.h明确cumulativeGPUTime为payload日期范围内累计GPU时间、NSUnitDuration,无法替代source-native GPU cost。Xcode官方Energy Gauge文档描述最近10秒活动和组件百分比,不是逐1Hz独立cost真值:官方说明。这是参考定义调查;当前最终参考准入收据仍待完整冻结。
迁移后全三根1917件3,814,364,812B源/原hostSHA及映射整树一致,149.415秒/RSS161,693,696B,Runs59,容量保全闭合(E3)。原CPU r5生命严格匹配后一次正常退出、两次absent通过;新零负载温控observer已启动,尚待准入结果,不计GPU正式轮。参考调查增量私有收据reference-investigation-a01.json明确incomplete,未提前宣布无参考。
GPU资格独立审计合同 · 2026-10-25(采集前冻结)
新增internal/acceptance/energy_gpu/audit_contract.py,独立于产品投影实现。固定槽从phase-begin/0直接tick包围上界+10秒后的首计划槽开始120个1Hz槽;最后槽不得晚于baseline开始下界+139秒,前后clock包围≤750ms。完整五阶段按0/1/2/3/4各一次,设备时钟阶段间20/30/30/30秒,允许timer调度0.5秒误差;stop/sealing各一次、自然plan-finished,最终时长140至145秒。每次submission需唯一在飞、序号连续且参数等于阶段计划;completion须完全匹配原submission、完成tick不早于提交、commandCompleted=true,三档均>0,最终failed0/submitted=completed/无在飞。timestamp计数器可用性逐轮记录,不因能耗评分测试要求硬件必须提供可选计数器。事件schema/sequence/machTicks与summary计数/字节、manifest全部SHA核同仍由完整审计覆盖。独立拒绝控制包含槽间隙、陈旧源/复用、负Total、错目标、bool/巨大整数、未完成在飞及错阶段,不用合成控制充作E4。
Implementation Update · 2026-10-25 · GPU独立审计
新增energy_gpu/audit_contract.py及review_round.py:独立固定槽与Metal真实提交/完成/阶段/排空审计,完整审计沿用已验封口链、Raw→derive→wire→Session→CSV逐行比对但改为GPU字段与140秒配方,不使用产品投影计算作为预期值。新增15项控制通过(audit-contract-tests-a02.log,0.001秒,E2),含真实0、负Total、错误目标不可回退、bool/NaN/无限/超大整数、时钟包围、固定槽缺值/间隙、错配方/完成失败/错总量/阶段时长。全局复制曾把审计CPU耗时标签替换为gpuSeconds,静态检查发现后在执行实际审计前恢复cpuSeconds,未产生错误真机报告。尚未在GPU实测证据上执行完整审计,资格控制与streaming fixture审计仍待接入。
新温控observer已实际输出120.566秒状态,cpuWorkloadRequests=0,原session50006仍活;未启动GPU负载,正式0/5。
当前参考决定 · 2026-10-25(资格采集前)
已按当前手机17.0/Xcode16.4/SDK18.5逐项确认:没有当前可用的同定义独立逐1Hz GPU source-native-cost参考。SDK MetricKit只给累计GPU时长;Metal提交/计数器为工作量与时间,不能换算未公开成本模型;当前模板实物plist核实为Metal GPU Counters,实际模板清单无Energy/Power专门模板;Power Profiler官方要求iOS26,当前17.0不满足;Xcode Debug Gauge最近10秒组件占比和同源EnergyMonitor不能成为独立逐秒成本真值;电池物理功率不同scope/unit。自有App只能提供真实提交/完成和执行时间,不伪设Apple私有cost。私有reference-decision-a01-private.json及资格根reference-decision-private.json保存候选矩阵与SDK/模板/官方文档SHA。没有宣称完成新的GPU trace采集,历史trace不作为当前参考。
该参考决定仅解除独立参考缺失门;仍须新资格及完整五轮全正常、消费者/封口/全SHA通过才按Owner政策正式计入,继续标记NO_REFERENCE_ACCEPTED_OWNER_POLICY、referenceAccuracyValidated=false、ownerReviewRequired=false。
Implementation Update · 2026-10-25 · 资格控制接入
新增私有gpu_diagnostic_control_a01.py:新qualification根20261025-energy-gpu-reference-diagnostic-01、run energy-gpu-ref-20261025-a01-r1、Build222、真实59容量、原保全树metadata及新温控live准入;标准GUI唯一Start/Stop,原生一次自有GPU参数启动(不是URL队列)、新生命rebind。140秒配方后在native ack+150秒停止就绪,Session仍≤225秒,launch前3/后43次直接设备时钟包围phase0;包围不成立即失败,不从样本反选窗口。资格非正式轮。prepare/source freeze、Session/fixture全SHA保全、流式export逐事件语义比对与最终温控原件保全脚本已准备,尚未发新请求。新增GPU热审计使用phase0/machTicks,继续600秒idle/300秒nominal保护,不沿用CPU admitted事件。18项独立控制a04全部通过(E2),补齐源复用/陈旧arrival/错误生命拒绝。
GUI已在标准222选择设备A/自有测试台,仅启用Energy Usage组;ScreenShot/Startup及其他组未选。指标选择批处理最后一次因控件离屏失败,重新读取完整AX并滚动后完成Energy选择,未开始采集。全局复制的Session保全摘要字段已在执行前改为GPU,未以CPU摘要冒充GPU。
Validation Update · 2026-10-25 · 独占资格a01失败(E4,正式0/5)
原温控≥600秒及live双门通过,465输入冻结;标准唯一Start/Stop、一次native GPU参数启动与新生命rebind完成。140秒完整场景2704次提交/2704次成功completion(901/901/902),5550事件全量export语义核同,Session166样本/32件3,929,851B及fixture manifest/全SHA核同,完整过渡与尾部保留。独立审计封口链/Raw→derive→wire→Session→CSV全部匹配;设备phase0直接包围60,334,500ns。固定120槽有95candidate/25source-sentinel,失败fixed-source-unhealthy;没有移窗、补值、缩分母或计正式通过。温控最终原件全SHA、准入prefix及生命结束保全通过。所有本轮工具终态,无待Stop。
原始234条Energy源中:147条GPU非负/Total非负、85条GPU非负/Total=-10、2条GPU缺失/Total=-10。负Total整帧哨兵按既定规则正确保留,不能因GPU=0放行。按phase0直接上界的host arrival相对21至109秒内部123条全部Total非负;87条Total负哨兵均在该内部区间以外。这是host arrival归类,不声称证明设备Energy窗口或所有因果。资格失败主要暴露场景合同不匹配:原140秒场景只有90秒真实GPU阶段,而120槽设计覆盖了无负载baseline/recovery;不能凭三个阶段完成就保证120个候选槽。
下一步须先制定新的前瞻场景方案,保留本次完整失败不回改。保持120槽及完整新五轮,不通过移窗缩分母解决;评估将三GPU阶段各延至45秒(135秒持续真实负载)及受控总时长/热/资源预算。这需要新的Fixture版本、软件/开销/签名安装/资格,而非在Lab33请求中偷偷绕过30秒上限;正式仍54/66、GPU0/5。当前Runs60,进一步新请求前更新custody及真实容量。
后续增量 · 2026-10-25
旧140秒资格失败保持;持续负载方案修订Lab34后,新独占完整五轮与最终全SHA/10审计重算通过,GPU正式计入55/66。当前Canonical为持续负载修订,见最终结果。