当前位置: 首页 > news >正文

CANN/mat-chem-sim-pred PID阶跃响应特征算法

PidStepResponseFeatures Algorithm

【免费下载链接】mat-chem-sim-pred面向工业领域,聚焦计算仿真、预测两大核心场景,构建面向流程工业"机理+数据"双轮驱动的领域计算层,推动AI for Science在材料化学领域的深度应用。项目地址: https://gitcode.com/cann/mat-chem-sim-pred

功能

PidStepResponseFeatures是 PID 候选阶跃响应轨迹的 device-side 特征提取算子。它不做闭环递推,假设上游已经生成候选过程变量轨迹:

pv_candidates[B, C, N], sp[B, N] -> features[B, C, 12]

该算子用于把完整候选轨迹压缩成可用于排序、筛选或评分的 12 个标量特征,避免把大规模轨迹搬回 CPU 后再逐候选扫描。

输出特征

每个(batch, candidate)输出 12 个特征:

0 initial_value 1 final_value 2 final_abs_error 3 peak_value 4 trough_value 5 overshoot_ratio 6 undershoot_ratio 7 rise_time 8 peak_time 9 settling_time 10 iae 11 ise

计算定义

对单条候选轨迹:

target = sp[b, N - 1] initial = pv_candidates[b, c, 0] final = pv_candidates[b, c, N - 1] delta = target - initial direction = 1 if delta >= 0 else -1 abs_delta = max(abs(delta), eps)

峰值和谷值:

peak_value = max(pv) trough_value = min(pv) peak_time = argmax(pv) * sample_interval

超调和欠调:

overshoot_ratio = max(direction * (peak_value - target), 0) / abs_delta undershoot_ratio = max(direction * (target - trough_value), 0) / abs_delta

上升时间:

normalized[i] = direction * (pv[i] - initial) / abs_delta rise_time = first_time(normalized >= 0.9) - first_time(normalized >= 0.1)

若没有跨过阈值,阈值时间回退到最后一个采样点,与 Python reference 保持一致。

调节时间与误差积分:

band = max(abs_delta * settle_band_ratio, 1e-4) settling_time = (last index with abs(sp[i] - pv[i]) > band + 1) * sample_interval iae = sum(abs(sp[i] - pv[i])) * sample_interval ise = sum((sp[i] - pv[i])^2) * sample_interval

Kernel 切分

Kernel 将每个(batch, candidate)映射为一个 task:

task = batch_index * C + candidate_index

每个 AI Core 处理连续 task 区间。每个 task 在 kernel 内直接扫描pv_candidatessp,融合 peak/trough、rise/settling time、IAE/ISE 等统计,不创建[B,C,N]中间临时特征数组。

复杂度

每个候选的主计算复杂度为:

O(N)

整体工作量为:

B * C * N

输出规模为:

B * C * 12

当前限制

  • 当前 kernel 是 GlobalTensor 标量扫描原型,尚未做 UB 分块和向量化。
  • resident_e2e口径假设pv_candidates/sp已在 Device;若输入来自 Host,还需要补 cold H2D 端到端数据。
  • rise_timesettling_time含条件判断,后续优化时需要保持与 Python reference 的阈值口径一致。

【免费下载链接】mat-chem-sim-pred面向工业领域,聚焦计算仿真、预测两大核心场景,构建面向流程工业"机理+数据"双轮驱动的领域计算层,推动AI for Science在材料化学领域的深度应用。项目地址: https://gitcode.com/cann/mat-chem-sim-pred

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1124163/

相关文章:

  • nwpu-cram网络爬虫项目:电商数据采集与分析的终极指南
  • Agent Skills技能成本优化:降低技能运行成本的实用技巧
  • Packtpub-crawler源码解析:深入理解Python爬虫的架构设计
  • Offix冲突解决策略:构建健壮的分布式数据同步系统
  • 成本优化策略:如何有效管理AWS Account Factory的资源使用和费用
  • AzaharPlus核心功能揭秘:StreetPass数据导入导出全攻略
  • CANN/ge LLM-DataDist Python接口
  • 如何在FPDF中自定义页眉页脚:打造专业PDF报告
  • 从0到1开发OpenCPU Web应用:基于R语言的交互式科研工具
  • HuggingFaceModelDownloader社区贡献指南:如何参与项目开发
  • 如何通过统一AI网关架构解决多模型集成难题:new-api开源项目的完整实践指南
  • Flutter_thrio模块化开发实践:如何优雅组织大型混合应用代码
  • OpenCPU核心功能解析:HTTP API如何赋能R语言远程计算
  • Unity3DRuntimeTransformGizmo的未来发展:路线图与社区贡献指南
  • FluidNet边界条件处理:复杂几何体流体交互的技术挑战
  • 电流频率转换模块选型要考虑哪些参数?量程匹配、精度等级与封装形式的综合决策
  • 归藏提示词库复古滤镜应用:诺基亚手机照片滤镜的现代创意用法终极指南
  • 如何用WeChatMsg永久保存微信聊天记录:终极免费解决方案
  • GL-iNet路由器iStoreOS风格化方案:免刷机一键美化实现
  • autopprof社区贡献指南:如何参与开源项目开发
  • Reacord状态管理最佳实践:构建响应式Discord交互界面
  • 三步让模糊视频变高清:Video2X AI视频增强全攻略
  • ofa.js 插槽系统:灵活的内容分发机制完全指南
  • 内容编辑工作流:Instatic效率提升与协作技巧
  • ngxtension DOM 交互指南:点击外部、手势、滚动监听等实用工具详解
  • 如何高效使用UserAgent-Switcher浏览器扩展:完整实战指南
  • hashdeep与其他哈希工具对比:Encase、NSRL、iLook格式支持详解
  • GFile性能优化:多连接并行传输与带宽测试基准指南
  • LiveViewJS vs 传统SPA:为什么服务器端渲染实时应用是未来趋势
  • 如何使用new-component提升React项目开发效率300%