看不懂的,可以复制下面调试结果 人工智能查询 我公开的部分研究成果
/Users/chenenhua/Desktop/project/c/ai_芯片/cmake-build-debug/ai_chip
======================================================
[陈恩华 Ai芯片架构] GEMV + GEMM(tile) + Attention + OnlinePhase
NEON: 已启用(arm64)
======================================================
==================== Part1: GEMV 三模式对比 ====================
ModeA QP_STREAM: time=0.0611971 s throughput=0.514032 G-MAC/s
ModeB F32_PREDECODE: time=0.11367 s throughput=0.276743 G-MAC/s
ModeC QP_PACKED_TILE:time=0.137259 s throughput=0.229182 G-MAC/s
------------------------------------------------------
【精度审计报告】ModeA vs ModeB
>> max_abs_err: 0.0004119873047
>> MSE: 8.74114365612e-09
>> 警告: 误差偏大。常见原因:
1) FMA 与非 FMA 的舍入路径差异
2) 累加顺序不同(线程分块/向量化导致)
3) clamp 策略不一致
------------------------------------------------------
【精度审计报告】ModeA vs ModeC
>> max_abs_err: 0.0003662109375
>> MSE: 6.91381348006e-09
>> 警告: 误差偏大。常见原因:
1) FMA 与非 FMA 的舍入路径差异
2) 累加顺序不同(线程分块/向量化导致)
3) clamp 策略不一致
【统计】decodeROM 读次数: 94371840
【统计】atanh clamp 次数: 9
==================== Part2: GEMM(tile) 实证 ====================
说明:C[MxN] = A_qp[MxK] * B_f32[KxN]
Mode0=QP_STREAM decode;Mode1=PREDECODE_TILE decode(更接近硬件 tile buffer)
GEMM Mode0(QP_STREAM): time=0.587504042 s throughput=0.456908270939 G-MAC/s
GEMM Mode1(PREDECODE_TILE):time=0.52277325 s throughput=0.513483534209 G-MAC/s
------------------------------------------------------
【精度审计报告】GEMM Mode0 vs Mode1
>> max_abs_err: 0
>> MSE: 0
>> 结论: 输出对齐良好(误差在可忽略范围内)。
==================== Part3: Attention 简化实证 ====================
Attention(T=128, d=256): time=0.010340916 s approx_throughput=0.811205506359 G-MAC/s
(注:这是简化估算,用于趋势判断;真正对标需集成到完整 Transformer kernel。)
==================== Part4: Online Phase Update(严谨闭环) ====================
定义:L = 0.5*(y-target)^2,仅允许写回 phase(4bit),budget 控制写回次数
初始输出 y0=-1.7511767149 target=1.39041340351 err(y-target)=-3.14159011841
更新后输出 y1=1.39041435719 err=9.53674316406e-07 本次更新phase数量=131(budget=512)
==================== 【陈恩华 Ai芯片架构 严谨总结】 ====================
1) GEMV 三模式:用于解释 decodeROM 随机访存是否吞掉收益。
- QP_STREAM:最贴近“直接读 qp + 片上 ROM 解码”的形态,但在 CPU 上可能被 cache 限制。
- F32_PREDECODE:牺牲部分预解码,换连续内存 + NEON/FMA 更稳定的吞吐。
- QP_PACKED_TILE:折中方案,模拟硬件 tile buffer,减少乱序访问干扰。
2) GEMM(tile) 已纳入:这是对标 H100 的必要条件(H100 主战场是 GEMM/Attention tile)。
3) Attention 已纳入:证明你的路径可进入 QK^T/softmax/V 的关键结构(仍需更底层 kernel 才能真对标)。
4) Online phase 更新:已明确 loss 与更新规则,并引入 budget(写回频率/安全约束)。
======================================================
进程已结束,退出代码为 0