oil-gas-ops-prospect内置SKILLS优化体系揭秘:用技能卡迭代优化昇腾算子
oil-gas-ops-prospect内置SKILLS优化体系揭秘用技能卡迭代优化昇腾算子【免费下载链接】oil-gas-ops-prospect面向油气勘探oil gas exploration领域的昇腾自定义算子库。仓名即 oil-gas-ops油气算子 prospect勘探目标面向地震成像、全波形反演等勘探计算场景项目地址: https://gitcode.com/cann/oil-gas-ops-prospectoil-gas-ops-prospect是一个面向油气勘探场景的昇腾自定义算子库支持地震成像、全波形反演等勘探计算。仓库内置了一套SKILLS 优化体系把算子调优经验拆成一张张可复用的「技能卡」让 AI 或开发者按卡迭代把算子性能打磨到超越同设备 PyTorch 标杆。 30秒看懂SKILLS 体系是什么传统算子调优依赖个人经验容易「改一处、坏三处」。oil-gas-ops-prospect 的做法是把调优流程卡片化Optimize 卡规定一轮优化怎么开、怎么改、怎么停Knowledge 卡把性能症状路由到对应的 pattern 解决卡Repair 卡精度/编译回归时的最小修复手册硬规则hard-rules防止「用 torch 拆解冒充优化」等作弊行为总入口在 SKILLS/README.md按两条技术栈拆分共 6 张技能卡。️ 两条技术栈、六张技能卡Triton-Ascend 栈FFT 算子优化对象是 triton-ascend/real_fft/triton_fft_real.py 中的real_rfft/real_irfft技能卡职责triton-npu-optimize迭代优化主流程baseline → 选方向 → 改码 → 评测 → 停手triton-npu-optimize-knowledge症状 → pattern 路由如grid-match-work、l0c-l1-tile-captriton-npu-repair-guide编译/JIT/L0C 溢出/数值不符的最小修复含修复经验库AscendC 融合算子栈Fused Attention优化对象是 ACLNN 注册调用的 FusedBiasSoftmax 与 FusedSoftmaxGrad技能卡职责ascendc-fused-optimize4 步分层流水中本仓可用的建模、切分、单核流水优化ascendc-fused-optimize-knowledge融合算子症状 → 510B pattern 卡双缓冲、scalar 小 case 等ascendc-fused-repair-guide切分错配 / MIX NaN / 原地空跑的三步最小修复 一轮迭代长什么样每张 Optimize 卡都定义了同一个「核心循环」以融合算子为例见 SKILL.md建立 baseline记录精度 相对同设备 Torch 小算子的倍数表只选一个方向从 pattern 索引 挑 12 张卡深读一次连贯改码tiling kernel ophost 单元测试一起改三层评测先无卡 ophost UT → 再官方 NPU 精度 → 最后跑同一套 benchmark达标才继续相对 Torch 标杆不得 1.0x否则回退本轮 diffTriton 栈的循环逻辑相同标杆是同设备torch.fftnormortho评测细节见 eval.md。 Pattern 卡症状即索引Knowledge 卡的核心是pattern 索引——把「现象」直接映射到「解法卡」避免瞎试。Triton 侧高频卡pattern_index.mdgrid-match-workblock 数远少于 AICore 数时不要满核 launch小 FFT 慢往往慢在 launchhost-staging-cache缓存 Fourier 基转置避免每次调用重复transpose().contiguous()l0c-l1-tile-cap910B 的 L0C 仅 128KB先卡 K/N 再卡 M溢出就减半 BLOCK_MAscendC 侧高频卡double-buffer-softmax前向多 iter 时 MTE2 与 SoftMax 串行上双缓冲scalar-small-case单次 0.2ms 的小 shape用少核 executor 复用别重写 SoftMaxkeep-mix-bf16bf16 反向必须保持 MIX 流水动SyncAll要有依据host-matchargs-offMatchArgs 会让二次同 shape 原地写回空跑禁止重开️ 回归了怎么办Repair 卡三步走分类症状ophost UT 对不上编译失败NaN空跑各有对应排查点最小改动固定 1 个官方 shape dtype只改一处重跑该用例 全量 NPU 测试红线不要用 Torch 拆解或纯 PyTorch 替换 kernel 来「修绿」 硬规则优化的安全带hard-rules.md 定义了不可触碰的红线例如NPU 路径必须是真 kernel禁止torch.softmax/bmm冒充芯片按 910BDAV_2201UB 192KB24 AIC 48 AIV优化不越界 A5精度门槛不改bf16 契约atol2e-2, rtol4e-3fp32max_diff ≤ 1e-5一轮一次主题失败就回退该轮 diff当前 baseline 已很能打FusedBiasSoftmax bf16 典型形态相对 Torch 达2.6x2.9xFusedSoftmaxGrad MIX 约1.9x2.1xreal_fft 5D 业务形态[1,35,128,128,128]领先3.7x10x。 新手上手路径读总览SKILLS/README.md按栈读主卡Triton 优化卡 或 融合算子优化卡遇到症状查 pattern 索引只深读 12 张卡改完立刻走 eval.md 评测流程无卡 UT → NPU 精度 → benchmark失败走 Repair 卡别自己发明解法相关测试入口tests/ascendc/fused_bias_softmax/run_test.sh、tests/triton/real_fft/test_triton_fft_real.py。总结oil-gas-ops-prospect 的 SKILLS 体系本质上是一套**「卡式调优方法论」**Optimize 管流程、Knowledge 管方向、Repair 管兜底、hard-rules 管红线。对新手来说它把资深工程师的调优直觉变成了可执行、可回滚、可验证的技能卡——照着卡迭代就能让油气勘探算子在昇腾 910B 上稳步超越 PyTorch 标杆。【免费下载链接】oil-gas-ops-prospect面向油气勘探oil gas exploration领域的昇腾自定义算子库。仓名即 oil-gas-ops油气算子 prospect勘探目标面向地震成像、全波形反演等勘探计算场景项目地址: https://gitcode.com/cann/oil-gas-ops-prospect创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →