ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

如何快速上手 oil-gas-ops-prospect:油气勘探昇腾 NPU 自定义算子库全景解读指南

如何快速上手 oil-gas-ops-prospect:油气勘探昇腾 NPU 自定义算子库全景解读指南 如何快速上手 oil-gas-ops-prospect油气勘探昇腾 NPU 自定义算子库全景解读指南【免费下载链接】oil-gas-ops-prospect面向油气勘探oil gas exploration领域的昇腾自定义算子库。仓名即 oil-gas-ops油气算子 prospect勘探目标面向地震成像、全波形反演等勘探计算场景项目地址: https://gitcode.com/cann/oil-gas-ops-prospectoil-gas-ops-prospect油气算子 勘探目标是一个面向油气勘探领域的昇腾 NPU 自定义算子库专为地震成像、全波形反演等高算力场景打造。它把复数乘法、实数 FFT、融合注意力、3D 卷积等常用算子沉淀到统一的 Python 包oil_gas_ops_prospect中让你在一行 import 之后即可在Ascend 910B上调用高性能算子。本文将带你用最短路径看懂这个项目它解决什么问题、交付哪些算子、如何安装、如何三步跑通。无需深啃底层普通用户也能快速建立全景认知。一、项目解决什么问题️油气勘探中的地震成像与全波形反演FWI需要大量复数运算、傅里叶变换和注意力/卷积计算。原生框架在昇腾 NPU 上往往缺少针对性优化oil-gas-ops-prospect用三种实现后端补齐这块能力后端交付物什么时候选它AscendCCANN OPP.run算子包暴露aclnn接口要精细控制切分与流水、追求极致性能Triton-AscendPython whl 里的 Triton kernel用 Python 快速表达、依赖 autograd、形态多变Composite-Torch纯 PyTorch 组合模块组合现有 torch 算子即可表达无需自定义 kernel关键点三者最终都通过同一个 Python 包oil_gas_ops_prospect按算子名暴露调用时不区分后端。这大大降低了使用门槛。二、当前交付的 7 个算子清单 仓库当前交付4 个 AscendC 算子、2 个 Triton-Ascend 算子和 1 个 Composite-Torch 算子覆盖了复数域、频域与空间域三大计算算子后端功能dtype / 格式ComplexMulAscendC复数逐点乘(ur,ui)·(vr,vi)→(wr,wi)float32/NDComplexMulGradAscendCComplexMul的反向float32/NDFusedBiasSoftmaxAscendCsoftmax(xbias1bias2, -1)原地写回fp32/fp16/bf16/NDFusedSoftmaxGradAscendC注意力 softmax JVP原地覆写 probsfp32/fp16/bf16/NDreal_rfftTriton-Ascend实数正向 FFTx → (xr, xi)float32real_irfftTriton-Ascend从半谱重建实信号(xr,xi),n → yfloat32Conv3dComposite-Torchnn.Conv3d等价替换前/反向自定义任意同nn.Conv3d这些算子正是全波形反演、谱卷积与地震数据建模里的核心计算单元。完整的数学定义、shape/dtype 约束与支持范围见算子列表接口签名与环境变量见接口列表。三、一键安装步骤从环境到跑通 ⚡️1. 前置条件版本配套很重要项要求CANN9.0.0 官方版本Toolkit 包 对应 SoC 的 Ops 包SoCAscend 910BAscend910B1Python≥ 3.10Triton-Ascend3.2.1不要用 PyPI 社区triton代替NPU 设备真实 910B精度/性能/显存须真机验证⚠️ 避坑提醒torch-npu需与本地 CANN 严格配套Triton 必须装官方triton-ascend3.2.1否则real_rfft/real_irfft没有昇腾后端。详细步骤见环境部署。2. 获取源码git clone https://gitcode.com/cann/oil-gas-ops-prospect.git cd oil-gas-ops-prospect3. 编译并安装三选一bash build.sh --pkg # 只出 OPP .run 算子包 bash build.sh # 出 .run 与 Python whl 到 output/不安装 bash build.sh --install # 编译并安装然后跑 whl 冒烟测试推荐--install会自动完成编译 OPP 包 → 安装到 CANN → 构建 whl →pip安装 → 跑冒烟测试。产物统一落在output/目录。四、三步调用算子 安装完成后调用方式非常简单无需关心底层是哪种后端。调用一实数 FFT最常用于频域处理import torch import torch_npu # noqa: F401 from oil_gas_ops_prospect.real_fft import real_irfft, real_rfft x torch.randn(8, 256, devicenpu) xr, xi real_rfft(x, dim-1) # 频率轴长度 256//21 129 y real_irfft(xr, xi, n256, dim-1) # 从半谱重建实信号调用二复数逐点乘显式切到昇腾算子import os os.environ[OIL_GAS_OPS_COMPLEX_MUL_IMPL] ascendc # 默认走 PyTorch 参考实现 from oil_gas_ops_prospect.complex_mul import complex_mul ur, ui, vr, vi (torch.randn(4, 1024, devicenpu) for _ in range(4)) wr, wi complex_mul(ur, ui, vr, vi) 小贴士AscendC 算子默认走 PyTorch 参考实现失败时静默回退。想确认算子真的被调用可设置OIL_GAS_OPS_REQUIRE_ASCENDC_COMPLEX_MUL1。更多端到端示例见 examples/ 与算子调用。五、测试与精度验收 ✅项目内置完善的分层测试体系统一入口bash build.sh -u按目的可细分运行bash build.sh -u # 全部套件需 910B bash build.sh -u --ut # UT切分 上板小 launch bash build.sh -u --st # ST多 shape aclnn bash build.sh -u --precision # 精度对拍 bash build.sh -u --perf # 性能测试类别测什么需要 NPUUT-host切分算法UB 预算、对齐、退化输入否UT-device上板把 kernel 真正 launch 起来是ST多 shape 两段式 aclnn numpy 真值是精度 / 性能Python 对拍 PyTorch / autograd是Triton CPU / Composite CPUrFFT 与 Conv3d 精度回退否完整测试分类见 tests/README.md。算子必须在真实 910B 上验证通过精度、性能与显存。六、目录结构导读 ️仓库按交付物形态组织三大算子目录配合测试、示例与文档结构清晰oil-gas-ops-prospect/ ├── ascendc/ # AscendC 算子交付 OPP .run 包 │ ├── operators/ # 算子源码 manifest.tsv 注册表 │ └── pybind/ # Python API打包为 oil_gas_ops_prospect ├── triton-ascend/ # Triton-Ascend 算子real_fft ├── composite-torch/ # Composite-Torch 算子Conv3d ├── tests/ # UT / ST / 精度性能测试 ├── examples/ # Python C 可运行示例 ├── docs/ # 文档中文为主 ├── build.sh # 顶层构建入口 └── output/ # 统一产物目录构建产生逐目录职责说明见目录结构。七、延伸阅读 想继续深入推荐按顺序阅读以下文档快速入门从环境到跑通的最短路径算子列表每个算子的数学定义与约束接口列表完整签名与环境变量算子调用端到端调用示例算子开发指南新增算子流程 一句话总结oil-gas-ops-prospect把油气勘探最耗算力的复数、频域与融合计算沉淀成了在昇腾 NPU 上一行 import 就能用的高性能算子库。装好 CANN 9.0.0 与 Triton-Ascend 3.2.1执行bash build.sh --install你已迈出了第一步。【免费下载链接】oil-gas-ops-prospect面向油气勘探oil gas exploration领域的昇腾自定义算子库。仓名即 oil-gas-ops油气算子 prospect勘探目标面向地震成像、全波形反演等勘探计算场景项目地址: https://gitcode.com/cann/oil-gas-ops-prospect创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进