GPU Tiler方案与实现 · 2026-10-21
E2软件与参考资格,Tiler0/5、正式33/66。
---
type: devlog
title: GPU Tiler来源一次发表与参考资格方案
date: 2026-10-21
status: approved
kind: plan
stage: P4
evidence: E2
metric: ios.foreground.gpu.tiler_utilization
---
# GPU Tiler当前唯一验收项
文档类型devlog。Owner授权同一AI方案、实现、测试与分离检查,无子代理;取消Owner额外复核,合格参考确实不可得且完整测试无异常时正式计入并保留NO_REFERENCE_ACCEPTED_OWNER_POLICY标记。基线b10c5e4c,Renderer已正式通过、整体33/66;不重测已验指标、不提前Device。
## 已证问题与范围
真实RealtimeMetricProjector离线控制:Tiler来源25在10/11/70秒仍重复输出25;来源101输出101,当前raw-gauge.v1仅做通用数值转换、scalar缓存没有Tiler新颖性或TTL。E2确认代码问题,不能以无参考为由放过。Renderer已有独立once机制,不能把Renderer通过外推Tiler。私有baseline-defect-and-reference-read-a01.json保留;本次手机调用0。
参考候选以当前设备/系统/权限及已实际执行的通道为限逐项登记,不能说硬件没有数据:历史Apple Advanced Graphics全场原件2398行里有218个同名Tiler数值;仍仅trace sample-time、无原生积分起止/完整时钟桥且独立性未证。AGX原件有同名字段但共享驱动统计不能当独立精度真值;Performance Limiters硬件counter与Metal命令GPU耗时不是整机Tiler百分比。自有测试台可设计几何工作量,不能从三角形数量计算整机百分比。进入无参考正式合同前,须另进程核全部候选实际字段/时窗/独立性与可控用例资格,不只复制Renderer结论。
## 先固定公式与质量语义
metricID=ios.foreground.gpu.tiler_utilization;scope=foreground-device;unit=percent;source=DTX com.apple.instruments.server.services.graphics.opengl,原始Tiler Utilization %。公式tiler-gauge.v2为合法原始数值恒等转换float,无二次比例或平均;有限非bool数值0≤v≤100,0必须是合法真实来源。None/字符串/非有限/负/大于100为null并原因,不补0。
新原始tilerPublicationPolicy=tiler-source-once.v1,仅新标记采集激活;历史未标记录继续旧语义。派生与实时统一校验service/channel/selector/adapter/scope/decoded/verified/0掉包;完整source ID、PID/目标generation/epoch/reconnect必须绑定。sequence/adapterSequence/XR不透明原生键严格递增,host到达不得倒退;原生戳单位未证,不换算时窗。更换进程生命/epoch不能回滚,异常源清空pending,不泄漏前值。每秒只发表尚未使用过的最新真实源;未有新源为null,age必须在0–2秒闭区间。source不重复、无插值/FIFO/补值,进入前后台清缓存。receipt名tilerSourceFreshness,记录来源/年龄/novel/拒绝原因;deviceWindowVerified和deviceTimestampUnitVerified始终false。只改Tiler,Renderer语义与已验原件保持。
## 最小实施
独立小模块tiler_freshness.py实现与Renderer相同强度但Tiler专属校验/receipt;不重构Renderer已验逻辑。Graphics raw增加Tiler policy,engine按Tiler标记调用新校验,projector增加Tiler观察/一次发表/前后台清理。UI/CSV/JSONL现有tilerGPUPercent/tilerGPUUsage数值字段继续使用,不新造metricID。source headroom在显式Renderer或Tiler且发表1000ms时启用,仍同一Graphics传输、同一setSamplingRate:5.0实测配置,旧rendererCadencePolicy命名保留兼容及研究溯源;不声称5.0为Hz单位。两真实direct/prewarm入口须测试只请求Tiler、发表1000/来源500实际启用且wire1Hz;不请求二者或非1Hz保持旧路径。
## 软件与效率门
控制覆盖合法0/100、101/负/NaN/inf/巨整数/字符串/bool、单源重复、相同值新原生键、无新值、2秒边界/过期/未来、时间倒退、源/身份/epoch/reconnect回滚、丢包、未解码、前后台/身份切换及原始不变;真实engine→projector→消费者链与派生公式/质量核同。完整Core串行回归、0skip,历史指标只跑软件回归、不重开真机。
O(n)事件链、每事件O(1)、单一latest/pending槽,新增O(1)内存,无新轮询/手机调用/源复制。50k真实结构模拟事件旧/新各3组,CPU/wall中位≤1.15、RSS增量≤8MiB、P95≤1ms;首响应/长任务/最差耗时/I/O计数如实记录。完整回归单分片60秒/192MiB、产品打包300秒单worker。ARM199内部开发签名、冻结源码/ARM依赖/严格签名/只读独立挂载/标准路径安装;198回滚保留,公证继续暂缓,正式分发partial。
## 可控用例与后续真机合同
现有Lab26包含三角形draw次数、纹理尺寸与fragment iterations,几何用例以小纹理/低fragment/增draws避免被片元负载冒充;必须固定提交数/完成数、取消排空、OFF/ON观测开销及恢复,保留全部原件。预备可沿用已实际完成Lab26工具机制资格,但Tiler来源/几何响应和consumer须单独资格,不能把Renderer五轮Tiler旁路值充Tiler正式样本。
目前phone实际64,所有正式失败/已通过证据保留。新采集前选已独立保全准备记录核六件source/host SHA,原容器rename而非删除;真实枚举收据达到五新轮容量。先单独诊断Tiler当前包与几何响应/开销/参考资格;全部门完成后另立独占五新run/生命/Session完整140秒×5、600秒双钟冷却、119/120及gap≤2、来源≥1.8Hz/gap≤1、全部异常0/真实正值/完整原件与消费者核同,首失败停,不补拼。不把软件通过或无参考当指标通过。
## 执行决定
方案已定稿,同一AI依序完成上述最小实现、控制、基准、打包,再进入准备资格;当前33/66、Tiler0/5/testPassed=false。实施记录在本页追加绝对日期,不等待成功才写;有异常先修,参考候选未核清不得直接标记正式通过。网站/通知/GitLab欠项按既有授权partial,指标正式关闭后独立提交推送与站点闭环,再Device。
## Implementation Update · 2026-10-21
独立tiler_freshness.py已实现完整来源/范围/身份/新颖性/2秒TTL与一次发表;adapters补Tiler专属policy,metric_engine按标记统一校验,realtime单独observe/后台清理/publish及receipt。未重构Renderer,旧未标Tiler回放语义保留。graphics_cadence仅把显式Tiler1Hz纳入现有单通道余量配置,两真实入口继承198正确具名发表间隔。
50项窄控制通过E2,含19项新Tiler来源控制、19项Renderer原控制、cadence与真实direct/prewarm×默认/500来源间隔。当前尚无新包或手机测试,Tiler0/5/整体33/66。初次私有基准脚本全局替换误改了graphics_cadence.py路径,启动前失败、手机调用0,失败目录保留;新a02仅改独占输出名重新测,不能覆写或当产品失败。正式基准/完整回归/签名包和真机资格仍待。
### Reference Qualification Update · 2026-10-21
新独立reader重读Apple完整trace全61件SHA及实际XML id/ref解析,Tiler同名218值、范围0–30,仍无原生积分起止/时钟桥与独立性。AGX同场原件SHA核同后重新解码Tiler144值、最大41,Graphics142值,同源/窗口问题仍存在;硬件Counter实际0观测/0区间、28元数据不充数据;Metal System Trace实际0.328994秒空闲不能当完整负载参考。自有命令耗时缺全设备Tiler分母。六候选各自原因和pins已保留reference-qualification-a01.json,手机调用0;当前环境合格精确参考不可得已收口,但同名参考存在,不宣称硬件不支持或永久无参考。后续Tiler完整无异常五轮可按Owner规则正式标记通过,不需要Owner额外复核,当前仍0/5。
### Software Validation Update · 2026-10-21
最终2817/2817完整Core串行回归通过E2,0失败/错误/skip,134.214503秒,最大分片RSS196476928B,手机调用0。Tiler与Renderer双字段校验的50k×3基准相对b10c5e4c:wall中位1.081451,CPU中位1.083483315,RSS峰差-30408704B,当前最大P95 37084ns、最大活动延迟363875ns,首响应104.917–189.583µs;六组checksum2849765一致、block I/O0。先前a02只checksum Renderer但已执行Tiler链,a03补双字段断言与CPU门,两个证据均保留,不挑样本。上述通过不等于手机开销或Tiler通过;ARM199内部构建进行中,仍0/5。
### Packaging / Next Execution Update · 2026-10-21
ARM199内部构建48.550591秒、源码pins不变;冻结代码与ARM原生依赖/严格签名/独立只读挂载12931树核同通过E2,SHA256 1b29babf8b1b80df30be82f56088536fb4d5f678aa54a5a910b561ed3a91e476。Apple Development内部包、Gatekeeper3/未公证,不称正式分发完成。标准198已正常退出,正在同址更新并保留198完整回滚;Tiler仍0/5,手机动作0。
后续容量准备细化:Renderer通过的a06五run全六原件及Mac全源已被最终reader核同,允许核每件host/source后原容器移存至Tiler私有retired路径,全部字节保留、不删失败a01–a05。每次最多两项,逐批重新枚举并核metadata/导出守恒,64→59;不能把已完成当可删除。新Tiler几何诊断独占一run,之后另选已独立保全准备恢复实际五槽,再正式五新轮;所有真实枚举收据独立保存,不按历史估算。诊断/正式工具分别标清,不能将Tiler诊断充正式轮。