Adds the MetaX backend for the sigmoid elementwise operator. Mirrors the existing silu metax op - reuses op::sigmoid::cuda::SigmoidOp via the elementwise MetaX descriptor. Supports BF16/F16/F32/F64. New files sigmoid/metax/sigmoid_metax.{h,maca}; operator.cc wires 5 #ifdef ENABLE_METAX_API blocks. Tested via test/infiniop/sigmoid.py --metax on MetaX C500 - passes accuracy vs torch.sigmoid across shapes/strides and inplace/out-of-place for F16/F32/BF16.
【CCF创新大赛】InfiniCore 沐曦适配 sigmoid 算子 MetaX 后端 PR(参赛ID:Esperanza)
参赛信息
LindseyMei:feat/metax-sigmoid→InfiniTensor:main实现概要
src/infiniop/ops/sigmoid/metax/sigmoid_metax.hsrc/infiniop/ops/sigmoid/metax/sigmoid_metax.macasrc/infiniop/ops/sigmoid/operator.cc(增加 5 处#ifdef ENABLE_METAX_API接线)op::sigmoid::cuda::SigmoidOp内核,通过 elementwise MetaX 描述符接入 MetaX 后端;与silu的 MetaX 实现同构。交付物清单
改动详情
新增
sigmoid/metax/sigmoid_metax.h(8 行)MetaX 后端描述符声明,一行宏展开,与 silu 同构:
新增
sigmoid/metax/sigmoid_metax.maca(核心,~70 行)MetaX 后端实现。
create()做 dtype/shape 校验并创建 elementwise 描述符;calculate()按 dtype 分派到复用的cuda::SigmoidOp内核(block=256):修改
sigmoid/operator.cc(+5 处,每处 3 行)在算子总入口照 silu 模式加 5 个
#ifdef ENABLE_METAX_API块,把 MetaX 接进 4 个 C API 的设备分派:#include "metax/sigmoid_metax.h"CREATE/GET(workspace)/CALCULATE/DELETE各加一行INFINI_DEVICE_METAX -> metax如何应用到 InfiniCore
在一份干净的 InfiniCore 仓库(
git checkout 56053d9或最新 main)里,二选一:方式 A(推荐,打 patch)
方式 B(手动拷贝)
如何编译
编译成功标志:
build.log出现[100%]: build ok且libinfiniop-metax.a完成archiving(见logs/build_metax_summary.log)。-Werror已开,代码须零警告(本实现满足)。如何测试
测试框架会用大量 shape / stride / inplace 组合、F16/F32/BF16 三种 dtype,与
torch.sigmoid逐一对拍。期望末行输出Test passed!(见logs/sigmoid_test.log)。验证环境
验证结果
xmake -y -j4通过,零错误零警告;xmake install -y成功python3 test/infiniop/sigmoid.py --metax对拍torch.sigmoid通过op::sigmoid::metax::Descriptor已链接进libinfiniop.soclang-format --dry-run --Werror三文件全 clean性能数据(大张量吞吐)
测试方法:10 次 warmup + 300 次迭代取平均;torch 基线使用显式
torch.cuda.synchronize()同步。状态
提 PR 指引
代码已就绪,提 PR 需用你的 GitHub 身份完成以下步骤。
DCO 签名提交(InfiniCore 强制 DCO,
user.name/email须与 GitHub/CLA 一致)push 到你的 fork 并开 PR
PR 正文建议
竞赛留痕
在
gitlink.org.cn/ccf-ai-infra/GPUApps/issues贴上 PR 链接。后续计划