cann/mat-chem-sim-pred PID窗口残差诊断算法

cann/mat-chem-sim-pred PID窗口残差诊断算法 PidWindowedResidualDiagnostics Algorithm【免费下载链接】mat-chem-sim-pred面向工业领域聚焦计算仿真、预测两大核心场景构建面向流程工业机理数据双轮驱动的领域计算层推动AI for Science在材料化学领域的深度应用。项目地址: https://gitcode.com/cann/mat-chem-sim-pred功能PidWindowedResidualDiagnostics对actual[B, N]与predicted[B, N]做滑动窗口残差诊断用于发现全局残差指标掩盖的分段漂移、局部振荡和模型失配。输出布局metrics[B, W, 8] autocorr[B, W, max_lag] W 1 (N - window_size) / stride指标每个(batch, window)独立计算 8 个指标mean_residual std_residual mae rmse max_abs_residual fit_percent durbin_watson ljung_box_qautocorr[b, w, lag - 1]为窗口内残差在指定 lag 下的归一化自相关。Kernel 策略Kernel 将每个(batch, window)映射为一个 task并按 task 分配到多个 AI Coretask b * W w window_start w * stride input_base b * N window_start每个 task 在 kernel 内直接扫描原始actual/predicted窗口不显式展开[B, W, window_size]中间张量。这样避免滑窗物化造成额外 HBM 占用同时只回传小规模诊断结果。计算过程对窗口残差r_i actual_i - predicted_imean avg(r) centered r - mean sse sum(r_i^2) residual_energy sum(centered_i^2) actual_energy sum((actual_i - avg(actual))^2)再得到std sqrt(residual_energy / max(window_size - 1, 1)) mae avg(abs(r)) rmse sqrt(sse / window_size) fit_percent 100 * (1 - sqrt(sse) / sqrt(max(actual_energy, eps))) durbin_watson sum((r_i - r_{i-1})^2) / max(sse, eps)多 lag 自相关与 Ljung-Box 风格统计量autocorr_lag sum(centered_i * centered_{i-lag}) / max(residual_energy, eps) ljung_box_q n * (n 2) * sum(autocorr_lag^2 / max(n - lag, 1))复杂度每个窗口的主计算复杂度为O(window_size * max_lag)整体工作量约为B * W * window_size * max_lag输出规模为B * W * (8 max_lag)当前限制当前 kernel 是 GlobalTensor 标量访问原型尚未做 UB 分块和向量化。当前验证聚焦中大窗口场景极小窗口会被 launch 和调度开销主导应单独评估。resident_e2e口径假设actual/predicted已在 Device若输入来自 Host还需补 cold H2D 端到端数据。若后续继续优化优先优化 lag 维度的 UB staging减少重复 Global Memory 读取。【免费下载链接】mat-chem-sim-pred面向工业领域聚焦计算仿真、预测两大核心场景构建面向流程工业机理数据双轮驱动的领域计算层推动AI for Science在材料化学领域的深度应用。项目地址: https://gitcode.com/cann/mat-chem-sim-pred创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考