CI 出包(pkg)模式下,scripts/ci/gen_ci_cmd.py 的 build_package_commands 仅按 DEFAULT_FILTER_SOC(ascend910b)过滤算子,未校验算子是否存在 op_kernel 目录。出包需要生成 kernel 二进制,无 op_kernel 目录的算子无法出包,可能导致出包命令包含无法构建/不可用的算子。
scripts/ci/gen_ci_cmd.py
build_package_commands
DEFAULT_FILTER_SOC
op_kernel
出包命令只保留具备 op_kernel 目录(可生成 kernel 二进制)的算子,避免出包失败或产出不可用的自定义算子包;被丢弃的算子打印告警列出,便于排查与后续补齐。
在 scripts/ci/gen_ci_cmd.py 出包命令生成链路中新增「op_kernel 目录过滤」:
check_op_has_op_kernel(op_name, is_experimental=False)
math/
conversion/
random/
experimental/
filter_ops_by_op_kernel(ops, is_experimental=False)
is_finite
acos
不涉及具体推理/训练框架使能;属于 CI 出包流水线脚本(--pkg 模式)的能力增强。
--pkg
不涉及(脚本层过滤,与算子数据类型无关)。
不涉及算子 host 侧实现;脚本仅按目录结构(op_kernel 是否存在)过滤出包算子集合。
不涉及 kernel 实现;只判断算子目录下是否具备 op_kernel 目录(出包依赖 kernel 二进制)。
默认 SOC:ascend910b(DEFAULT_FILTER_SOC)。SOC 过滤逻辑沿用现有 filter_ops_by_soc_support,本次新增的 op_kernel 目录过滤与之串联。
filter_ops_by_soc_support
无 op_kernel 目录的算子(如仅提供 host 层实现/接口的算子)无法出包,将从出包命令中丢弃并打印告警。
💡 备注(选填) 关联 PR:https://gitcode.com/cann/ops-math/pull/4896
/assign @songkai111
一、背景信息 (必填)
CI 出包(pkg)模式下,
scripts/ci/gen_ci_cmd.py的build_package_commands仅按DEFAULT_FILTER_SOC(ascend910b)过滤算子,未校验算子是否存在op_kernel目录。出包需要生成 kernel 二进制,无op_kernel目录的算子无法出包,可能导致出包命令包含无法构建/不可用的算子。二、价值/作用 (必填)
出包命令只保留具备
op_kernel目录(可生成 kernel 二进制)的算子,避免出包失败或产出不可用的自定义算子包;被丢弃的算子打印告警列出,便于排查与后续补齐。三、设计方案 (必填)
在
scripts/ci/gen_ci_cmd.py出包命令生成链路中新增「op_kernel 目录过滤」:check_op_has_op_kernel(op_name, is_experimental=False):按math/、conversion/、random/(experimental 场景为对应experimental/前缀)检查算子目录下是否存在op_kernel子目录。filter_ops_by_op_kernel(ops, is_experimental=False):过滤出存在op_kernel目录的算子集合。build_package_commands在 SOC 过滤之后追加op_kernel目录过滤,被丢弃的算子打印告警,过滤后为空回退到默认算子命令(is_finite/acos)。3.1 使能方式(涉及哪些框架:如Aclnn直调、Pytorch训练等)
不涉及具体推理/训练框架使能;属于 CI 出包流水线脚本(
--pkg模式)的能力增强。3.2 总体设计
3.2.1 算子支持的数据类型
不涉及(脚本层过滤,与算子数据类型无关)。
3.2.2 host侧设计
不涉及算子 host 侧实现;脚本仅按目录结构(
op_kernel是否存在)过滤出包算子集合。3.2.3 kernel侧设计
不涉及 kernel 实现;只判断算子目录下是否具备
op_kernel目录(出包依赖 kernel 二进制)。3.3 支持硬件
默认 SOC:ascend910b(
DEFAULT_FILTER_SOC)。SOC 过滤逻辑沿用现有filter_ops_by_soc_support,本次新增的 op_kernel 目录过滤与之串联。3.4 算子约束限制
无 op_kernel 目录的算子(如仅提供 host 层实现/接口的算子)无法出包,将从出包命令中丢弃并打印告警。
💡 备注(选填)
关联 PR:https://gitcode.com/cann/ops-math/pull/4896