| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
update: dlog头文件路径变更,更新文件 Finddlog.cmake Co-authored-by: fujun19<fujun19@hisilicon.com> # message auto-generated for no-merge-commit merge: !83 merge master into master update: dlog头文件路径变更,更新文件 Finddlog.cmake Created-by: fujun19 Commit-by: fujun19 Merged-by: cann-robot Description: ## 描述 本次变更适配 dlog 头文件目录调整,更新 cmake/modules/Finddlog.cmake 中 DLOG_HEAD_SEARCH_PATHS 的 CI 编译搜索路径。 具体调整: - 将 CI 场景下的 dlog 头文件搜索路径从 ${TOP_DIR}/abl/slog/inc/toolchain 更新为 ${TOP_DIR}/runtime/src/dfx/log/inc/toolchain。 - 保留 Ascend 安装目录下 ${ASCEND_DIR}/${SYSTEM_PREFIX}/include/toolchain 和 ${ASCEND_DIR}/pkg_inc/base 的查找路径,兼容现有安装包结构。 该调整用于匹配 dlog 头文件迁移后的目录结构,避免 ops-ras 在 CI 编译时仍依赖旧的 abl/slog 路径。 ## 关联的Issue 无 ## 测试 已验证构建出包正常,更新后的 dlog 头文件搜索路径可满足编译查找。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:构建配置更新 See merge request: cann/ops-ras!83 | 1 个月前 | |
统一配置ops-ras安装目录及文件权限 Co-authored-by: q00889097<qinhan10@huawei.com> # message auto-generated for no-merge-commit merge: !93 merge master into master 统一配置ops-ras安装目录及文件权限 Created-by: qinhan123 Commit-by: q00889097 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 主要统一了 ops-ras 安装流程中安装目录及文件的权限配置:移除散落在各脚本中的冗余 chmod/chown 操作,同时升级了 cann-cmake 第三方依赖版本, 规范权限统一的操作在cmake中实现。整体以减少冗余权限设置、统一权限基准为主,不涉及安装流程的业务逻辑改动。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-ras/issues/29 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-ras!93 | 26 天前 | |
chore: normalize copyright year to 2026 Co-authored-by: LiuZonggu<liuzonggu1@huawei.com> # message auto-generated for no-merge-commit merge: !66 merge split/pr10-copyright-2026 into master chore: normalize copyright year to 2026 Created-by: LiuZonggu Commit-by: LiuZonggu Merged-by: cann-robot Description: ## 描述 Normalize Huawei-owned copyright and license header year expressions across the repository: - Replaced legacy years, year ranges, and dynamic year placeholders with the single year 2026. - Standardized 460 copyright licenses across 455 tracked files. - Updated the copyright header generation logic in scripts/package/package.py and scripts/util/ascendc_impl_build.py so newly generated files consistently use the single year 2026. - Preserved third-party copyright years, license text, documentation content, and unrelated code behavior. ## 关联的Issue Related to issue [#4](https://gitcode.com/cann/ops-ras/issues/4) ## 测试 ## 文档更新 No documentation content or structure was changed. Only Huawei copyright year expressions in tracked Markdown files were normalized. ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:Copyright/license year normalization See merge request: cann/ops-ras!66 | 2 个月前 | |
refactor(build): align build, test, and package pipelines with CANN 9.1.0 Co-authored-by: LiuZonggu<liuzonggu1@huawei.com> # message auto-generated for no-merge-commit merge: !69 merge oat-correct into master refactor(build): align build, test, and package pipelines with CANN 9.1.0 Created-by: LiuZonggu Commit-by: LiuZonggu Merged-by: cann-robot Description: ## 描述 本 PR 将 ops-ras 的依赖、构建、测试和安装基础设施对齐到 CANN 9.1.0,并清理了不属于 RAS 仓的 NN REG_OP 注册。 - CMake 与依赖:接入 cann-cmake 公共能力,统一管理 JSON、Abseil、Protobuf、Eigen、GoogleTest、OPBASE、mmpa 和可选 ops-test-kit;支持显式 CANN_3RD_LIB_PATH 与 ccache 开关;使用 version.cmake 生成 9.1.0 版本信息。 - 构建与 binary:更新构建入口、binary 配置/生成工具、Ascend350 映射、reliability 分类,以及 NPU architecture/Regbase 相关平台判断。 - 测试基础设施:增加 tiling、infershape、op_graph、op_kernel 和 AICPU 的公共 UT 执行与构建支撑。 - Graph/ES:删除 op_ras_proto_extend.h 内的 NN 模板注册;保留 --opgraph、proto 合并、Graph/ES 构建、Graph UT 和可选安装框架,并以实际代码 *_proto*.h 作为 source gate。当前默认源码无该输入,因此不生成或安装 ops_proto_ras.*、libopgraph_ras.so、libes_ras.so、ES 头或 wheel;显式 custom Graph source 仍可激活该框架。 - package/install:解压即安装,改用 cann-cmake 的公共 makeself/CPack/install 能力,统一 ops-ras 产品名与 ops_ras share-info 目录,删除仓内重复的 packer、latest-manager、makeself 和废弃安装辅助脚本;支持多路径 ASCEND_CUSTOM_OPP_PATH、RAS vendor fallback,以及 custom proto 对同包 ES 库的相对 RUNPATH。 ## 关联的Issue [#5](https://gitcode.com/cann/ops-ras/issues/5) ## 测试 - 构建:bash build.sh --pkg 通过;run 包 --check、--list、安装 fresh install、卸载 uninstall 无残留检查通过;默认包内无 graph 产物。 ## 文档更新 本 PR 未修改仓内产品文档;PR 与关联 Issue 的描述已按当前分支实现和实际验证边界更新。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他:CANN 9.1.0 工程基础设施迁移 See merge request: cann/ops-ras!69 | 2 个月前 | |
fix(build): 修复依赖缺失 Co-authored-by: LiuZonggu<liuzonggu1@huawei.com> # message auto-generated for no-merge-commit merge: !84 merge fix/ci-source-build-deps into master fix(build): 修复依赖缺失 Created-by: LiuZonggu Commit-by: LiuZonggu Merged-by: cann-robot Description: ## 描述 修复提交 3d01c9dda789a61544ef9ea115a2b559c9690997 精简依赖和本地 OpAPI stub 后引入的源码模式 CI 编译问题。 具体调整: - 删除 RAS_NEEDS_AICPU、RAS_NEEDS_PROTOBUF、RAS_NEEDS_EIGEN、RAS_NEEDS_TILING_API 及仅用于这些门控的源码扫描。 - 无条件初始化 AICPU、Tiling API、Protobuf 和 Eigen 依赖,并统一在 ENABLE_TEST 下初始化 tikicpulib。 - 保留仅在确有 Graph 源码并请求 Graph UT 时加载 mmpa 的门控。 - 恢复 ${OPS_RAS_DIR}/common/stub/op_api include 头文件,以及仍被产品 OpAPI 和 UT 直接使用的 cast.h、contiguous.h、op_error_check.h。 ## 关联的Issue [#19](https://gitcode.com/cann/ops-ras/issues/19) ## 测试 - ut 通过。 - 安装卸载无问题 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-ras!84 | 1 个月前 | |
修改错误的arch版本 Co-authored-by: yue-ma<mayue54@huawei.com> # message auto-generated for no-merge-commit merge: !10 merge master into master 修改错误的arch版本 Created-by: yue-ma Commit-by: yue-ma Merged-by: cann-robot Description: ## 描述 增加readme和classify <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-ras/issues/20 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 不涉及 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/en/develop/aicore_develop_guide.md ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-ras!10 | 1 个月前 | |
add new operator matmul_abft_verify Co-authored-by: kanboyi<2036465770@qq.com> # message auto-generated for no-merge-commit merge: !94 merge add_matmul_abft_verify into master add new operator matmul_abft_verify Created-by: starfican Commit-by: kanboyi Merged-by: cann-robot Description: ## 变更摘要 本次 PR 新增 MatmulFt 矩阵乘法外挂容错算子,代码位于 reliability/matmul_abft_verify。 该算子面向输出精度为 FLOAT32 的矩阵乘法算子。调用方提供输入矩阵 A、B 以及待检测的矩阵乘法结果 C,MatmulAbftVerify 基于方差估计 自适应门限算法(V-ABFT),对 C 执行分块 checksum 校验,以检测并定位矩阵乘法过程中产生的静默计算错误。 算子支持 BFLOAT16 和 FLOAT32 两种输入精度,支持 Atlas A2/A3 系列产品,并配套提供算子定义、shape/dtype 推导、 host tiling、kernel 实现、aclnn 接口文档以及 BF16 调用样例。 ## 主要改动 ### 新增 MatmulAbftVerify 外挂容错算子 - 接口功能:实现基于方差估计自适应门限算法(V-ABFT)的GEMM容错检测算子。算子接收矩阵A、B以及预先计算的矩阵乘结果C,对C进行分块ABFT校验,检测静默计算错误并输出逐行检测结果。 - 特点 - 自适应阈值: 该算子能够根据矩阵大小与值域自动确定用于比对的阈值,能够在保证检出率的同时避免误检。 - 自适应阈值算法与推导见https://gitee.com/yihenggao/v-abft的文档 - 计算量显著小于基于重新计算的容错方案。在矩阵维度m=n=k=a时,本算子只需8a^2次浮点计算,而重算则需要2a^3次浮点计算。且容错阈值也与该算法相匹配 - 计算公式: $$ C = A \times B, \quad A \in \mathbb{R}^{M \times K},\; B \in \mathbb{R}^{K \times N} $$ $$ C^r = C\times r, B^r=B\times r $$ 其中阈值$Threshold_i$由输入矩阵A、B的局部统计特征(均值、标准差)动态估计,无需依赖C矩阵输出结果。 - 算子功能说明: - 输入矩阵A、B和预先计算的C经过checksum编码、阈值估计和校验比对流程,输出压缩后的逐行故障检测结果张量 comp_row,1表示正确,0表示检测到错误。 ### 函数原型 每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnMatmulAbftVerifyGetWorkspaceSize”接口获取入参并根据计算流程计算所需workspace大小,再调用“aclnnMatmulAbftVerify”接口执行计算。 cpp aclnnStatus aclnnMatmulAbftVerifyGetWorkspaceSize( const aclTensor *a, const aclTensor *b, const aclTensor *c, const aclTensor *checksumWeight, double EMAX, const aclTensor *compRow, uint64_t *workspaceSize, aclOpExecutor **executor); cpp aclnnStatus aclnnMatmulAbftVerify( void *workspace, uint64_t workspaceSize, aclOpExecutor *executor, aclrtStream stream); ### aclnnMatmulAbftVerifyGetWorkspaceSize - **参数说明:** <table style="undefined;table-layout: fixed;width: 1540px"><colgroup> <col style="width: 170px"> <col style="width: 120px"> <col style="width: 300px"> <col style="width: 330px"> <col style="width: 212px"> <col style="width: 100px"> <col style="width: 190px"> <col style="width: 118px"> </colgroup> <thead> <tr> <th>参数名</th> <th style="white-space: nowrap">输入/输出</th> <th>描述</th> <th>使用说明</th> <th>数据类型</th> <th><a href="../../../docs/zh/context/数据格式.md" target="_blank">数据格式</a></th> <th style="white-space: nowrap">维度(shape)</th> <th><a href="../../../docs/zh/context/非连续的Tensor.md" target="_blank">非连续的Tensor</a></th> </tr> </thead> <tbody> <tr> <td>a(aclTensor)</td> <td>输入</td> <td>矩阵乘法输入A。</td> <td> <ul> <li>维度为2,shape为[M, K]。</li> </ul> </td> <td>FLOAT16、BFLOAT16、FLOAT32</td> <td>ND</td> <td>[M, K]</td> <td>-</td> </tr> <tr> <td>b(aclTensor)</td> <td>输入</td> <td>矩阵乘法输入B。</td> <td> <ul> <li>维度为2,shape为[K, N]。</li> </ul> </td> <td>FLOAT16、BFLOAT16、FLOAT32</td> <td>ND</td> <td>[K, N]</td> <td>-</td> </tr> <tr> <td>c(aclTensor)</td> <td>输入</td> <td>预先计算的矩阵乘结果C = A × B,作为容错检测的数据输入。</td> <td> <ul> <li>维度为2,shape为[M, N]。</li> </ul> </td> <td>FLOAT32</td> <td>ND</td> <td>[M, N]</td> <td>-</td> </tr> <tr> <td>checksumWeight(aclTensor)</td> <td>输入</td> <td>列编码值向量,对应ABFT中的行校验和编码向量$r$(加权向量)。</td> <td> <ul> <li>维度为1,shape为[N]。</li> </ul> </td> <td>FLOAT16、BFLOAT16、FLOAT32</td> <td>ND</td> <td>[N]</td> <td>-</td> </tr> <tr> <td>EMAX(double)</td> <td>输入</td> <td>误差阈值系数,控制故障检测的灵敏度。</td> <td> <ul> <li>默认值为0.001。</li> <li>A,B为BF16精度,推荐值:0.001</li> <li>A,B为FP32精度, 推荐值: 0.00002</li> <li>使用小于推荐值的EMAX会增大检出率,但是也可能会出现误检情况。</li> <li>在出现误报的时候,可以将EMAX调大。</li> </ul> </td> <td>-</td> <td>-</td> <td>-</td> <td>-</td> </tr> <tr> <td>compRow(aclTensor)</td> <td>输出</td> <td>压缩后的行方向故障检测位流输出。</td> <td> <ul> <li>每个bit表示一行一段的检测结果,1表示正确,0表示检测到错误。</li> </ul> </td> <td>UINT8</td> <td>ND</td> <td>[ceil(M/8) * splitN]</td> <td>-</td> </tr> <tr> <td>workspaceSize(uint64_t)</td> <td>输出</td> <td>返回需要在Device侧申请的workspace大小。</td> <td>-</td> <td>-</td> <td>-</td> <td>-</td> <td>-</td> </tr> <tr> <td>executor(aclOpExecutor)</td> <td>输出</td> <td>返回op执行器,包含了算子计算流程。</td> <td>-</td> <td>-</td> <td>-</td> <td>-</td> <td>-</td> </tr> </tbody></table> 其中 $splitN = \lceil N / 256\rceil$。 ### 算子文档 新增 reliability/matmul_abft_verify/docs/MatmulAbftVerify.md ### BF16 调用样例 新增: reliability/matmul_abft_verify/examples/test_aclnn_matmul_abft_verify_bf16.cpp - ACL 运行环境初始化; - 输入、输出 Tensor 创建; - C 矩阵 Buffer 初始化; - workspace 查询与申请; - 算子调用; - 检测结果回拷和打印; - Device 资源释放。 由于前序矩阵乘法算子 aclnnGemm 暂时无法通过 ops-transformer 当前提供的脚本完成编译,仓库内样例仅展示 MatmulAbftVerify的调用方 式,没有在样例中串联实际的前序矩阵乘法,因此不构成完整的端到端容错演示。 包含前序矩阵乘法、多精度验证的完整样例可参考: https://gitee.com/kanby123/matmul_abft_verify ## 约束说明 - 确定性计算: - aclnnMatmulAbftVerify默认确定性实现。 - 输入矩阵a、b和c必须为2维,shape分别为[M, K]、[K, N]和[M, N],且a的第1维(K)与b的第0维(K)必须相等。 - 输入向量weight的shape必须为[N]。 - 支持的数据类型组合为: | a | b | c | checksumWeight | |:-------:|:-------:|:-------:|:-------:| | FLOAT16 | FLOAT16 | FLOAT32 | FLOAT16 | | BFLOAT16| BFLOAT16| FLOAT32 | BFLOAT16| | FLOAT32 | FLOAT32 | FLOAT32 | FLOAT32 | - 不支持的场景: - 不支持ND格式以外的数据格式。 - 不支持非连续的Tensor。 - 不支持a、b和c的维度不为2的场景。 ## Workspace使用设计 workspace由两部分组成: 1. 固定的16 MiB系统workspace。 2. user workspace,其中依次放置13个内部中间张量及FT内部临时区。 算子tiling阶段根据M、N、K和输入精度计算完整大小,并通过workspaceSize返回。调用者必须申请不少于该大小的连续device内存,不能只按compRow大小申请。所有中间张量的起始地址按32字节向上对齐。 定义: text splitN = ceil(N / 256) rowSplitLen = M * splitN bStatLen = ceil(splitN / 8) * 8 + 8 beLen = K * splitN align32(x) = ceil(x / 32) * 32 设W为user workspace首地址。在kernel内,W = AscendC::GetUserWorkspace(workspace);对于算子外部的device地址计算,当前实现等价于W = (uint8_t *)workspace + 16 MiB。 以下偏移均相对W。令S0 = 0,每个张量的起始偏移为Oi = align32(Si),结束位置为Si+1 = Oi + 元素数 × 元素字节数: | 顺序 | 中间结果 | 起始地址 | 元素类型 | 元素数 | |:--:|:--|:--|:--|--:| | 0 | z_row | W + O0 | FLOAT32 | rowSplitLen | | 1 | d_row | W + O1 | FLOAT32 | rowSplitLen | | 2 | threshold | W + O2 | FLOAT32 | rowSplitLen | | 3 | b_mean_abs | W + O3 | FLOAT32 | bStatLen | | 4 | b_mean_square | W + O4 | FLOAT32 | bStatLen | | 5 | b_var | W + O5 | FLOAT32 | bStatLen | | 6 | be | W + O6 | 与a相同 | beLen | | 7 | be_for_aiv | W + O7 | a为FLOAT16时是FLOAT16,否则是FLOAT32 | beLen | | 8 | b_max_slice | W + O8 | FLOAT32 | beLen | | 9 | b_min_slice | W + O9 | FLOAT32 | beLen | | 10 | a_max | W + O10 | FLOAT32 | M | | 11 | a_mean | W + O11 | FLOAT32 | M | | 12 | a_min | W + O12 | FLOAT32 | M | 其中FLOAT16和BFLOAT16元素占2字节,FLOAT32元素占4字节。第13段之后再次按32字节对齐,剩余区域是FT内部临时区,其逻辑大小为: text M * (splitN + 1) * sizeof(float) AMean计算使用的常量因子1/K不占用workspace。tiling阶段按输入精度生成该scalar,kernel在首次计算AMean时直接用它初始化FT的L1内部缓冲区,因此该因子不能作为workspace中间结果拷出。 如果需要调试并拷出某个中间结果,应在算子执行完成且workspace尚未释放或复用时,从上表对应的W + Oi开始执行device-to-host拷贝,拷贝字节数为“元素数 × 元素字节数”。对外读取workspace属于调试能力,不是稳定的公开输出接口;布局发生变更时,以[matmul_abft_verify.cpp](../op_kernel/matmul_abft_verify.cpp)中Workspace ABI注释下的地址切分代码为准,该代码也是偏移计算的示例实现。 ## 验证情况 ### 精度验证 - 算子编译及执行测试通过; - BF16 FP32 aclnn 接口调用测试通过; - 测试数据类型:BF16、FP32。 - 测试形状:矩阵乘形状按 (M, N, K) 表示,M/N/K 分别取 {1024, 2048, 4096, 8192},采用全组合覆盖,共 64 种形状/数据类 型,合计 128 个测试用例。 - 精度标杆:以 CPU 侧 Golden 计算结果为基准,校验 BMeanAbs、BMeanSquare、BVar、COMPRow、ZRow、BE/BEforAIV、DRow、 AMean、AMin、AMax 和 Thre 共 11 项中间结果及检测结果。阈值计算参数 e_max 为: - BF16:0.001 - FP32:0.00002 - 通过标准: - 所有输出元素必须为有限值; - 当累计计算量 computeNum < 2048 时,允许误差为 1/256 × max(1, |Golden|); - 当 computeNum ≥ 2048 时,允许误差为 1/128 × max(1, |Golden|); - COMPRow 要求与无错误标杆值 255 完全一致; - 任一校验项出现不满足条件的元素,该用例即判定失败。 - 测试结果:BF16 和 FP32 各 64/64 个形状全部执行成功;每个用例的 11 项 Golden 校验均为 PASSED,合计 128/128 个用例通 过,1408/1408 项校验通过,无失败项,通过率 100%。 结论:MatmulAbftVerify 算子在本次覆盖的 BF16、FP32 数据类型及全部 64 种矩阵形状下,精度测试全部通过。 - 完整的多精度测试见独立样例仓库。 ### FP32 C 错误注入实验 除无故障场景下的数值精度验证外,对待检测矩阵 \(C\) 进行了 bit-flip 错误注入,以验证算子对实际 SDC 的检测能力。 测试覆盖以下矩阵形状: text (M,K,N) = (2048,4096,4096) (2048,4096,8192) (4096,4096,4096) (4096,4096,8192) 并覆盖多种输入数据分布: text clamped_normal_0_1 normal_1_1 normal_1e-6_1 uniform_-1_1 对于 BF16 输入、FLOAT32 C 的实验,在 FP32 C 的 bit 27~29 注入错误时,四组矩阵 shape 的检出率基本保持稳定: * clamped_normal_0_1:约 **95.12%~95.27%** * normal_1_1:**100%** * normal_1e-6_1:约 **97.49%~97.60%** * uniform_-1_1:约 **92.51%~92.73%** 例如 \((M,K,N)=(4096,4096,8192)\) 时,bit 27~29 的检出率分别为约 95.20%、100%、97.60% 和 92.73%。 对于 FP32 输入,在测试的 bit 23~30 范围内,各数据分布的检出率整体保持在约 **90%~100%**。例如 \((4096,4096,4096)\) 时,bit 23~30 的检出率最低约为 90.04%,多项测试达到 100%。 与此同时,在上述错误注入测试对应的正常数据检测中,各测试 bit、矩阵 shape 和数据分布均未观察到误报,False-positive rate 为 **0%**。例如 FP32 \((4096,4096,8192)\) 的全部 bit 23~30 和四种数据分布误报率均为 0。 该结果说明,在当前错误注入覆盖范围内,自适应门限能够在保持零误报的同时,对会造成显著结果扰动的 bit-flip 错误维持较高检出率。 #### BF16 (M,K,N)=(2048,4096,4096) — Detection rate (%) | Bit | clamped_normal_0_1 | normal_1_1 | normal_1e-6_1 | uniform_-1_1 | |---:|---:|---:|---:|---:| | 23 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | | 24 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | | 25 | 7.360000 | 0.000000 | 0.000000 | 14.684000 | | 26 | 95.122000 | 0.000000 | 87.930000 | 92.506000 | | 27 | 95.122000 | 100.000000 | 97.531000 | 92.506000 | | 28 | 95.122000 | 100.000000 | 97.531000 | 92.506000 | | 29 | 95.122000 | 100.00 See merge request: cann/ops-ras!94 | 19 天前 | |
refactor(build): align build, test, and package pipelines with CANN 9.1.0 Co-authored-by: LiuZonggu<liuzonggu1@huawei.com> # message auto-generated for no-merge-commit merge: !69 merge oat-correct into master refactor(build): align build, test, and package pipelines with CANN 9.1.0 Created-by: LiuZonggu Commit-by: LiuZonggu Merged-by: cann-robot Description: ## 描述 本 PR 将 ops-ras 的依赖、构建、测试和安装基础设施对齐到 CANN 9.1.0,并清理了不属于 RAS 仓的 NN REG_OP 注册。 - CMake 与依赖:接入 cann-cmake 公共能力,统一管理 JSON、Abseil、Protobuf、Eigen、GoogleTest、OPBASE、mmpa 和可选 ops-test-kit;支持显式 CANN_3RD_LIB_PATH 与 ccache 开关;使用 version.cmake 生成 9.1.0 版本信息。 - 构建与 binary:更新构建入口、binary 配置/生成工具、Ascend350 映射、reliability 分类,以及 NPU architecture/Regbase 相关平台判断。 - 测试基础设施:增加 tiling、infershape、op_graph、op_kernel 和 AICPU 的公共 UT 执行与构建支撑。 - Graph/ES:删除 op_ras_proto_extend.h 内的 NN 模板注册;保留 --opgraph、proto 合并、Graph/ES 构建、Graph UT 和可选安装框架,并以实际代码 *_proto*.h 作为 source gate。当前默认源码无该输入,因此不生成或安装 ops_proto_ras.*、libopgraph_ras.so、libes_ras.so、ES 头或 wheel;显式 custom Graph source 仍可激活该框架。 - package/install:解压即安装,改用 cann-cmake 的公共 makeself/CPack/install 能力,统一 ops-ras 产品名与 ops_ras share-info 目录,删除仓内重复的 packer、latest-manager、makeself 和废弃安装辅助脚本;支持多路径 ASCEND_CUSTOM_OPP_PATH、RAS vendor fallback,以及 custom proto 对同包 ES 库的相对 RUNPATH。 ## 关联的Issue [#5](https://gitcode.com/cann/ops-ras/issues/5) ## 测试 - 构建:bash build.sh --pkg 通过;run 包 --check、--list、安装 fresh install、卸载 uninstall 无残留检查通过;默认包内无 graph 产物。 ## 文档更新 本 PR 未修改仓内产品文档;PR 与关联 Issue 的描述已按当前分支实现和实际验证边界更新。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他:CANN 9.1.0 工程基础设施迁移 See merge request: cann/ops-ras!69 | 2 个月前 | |
refactor(build): align build, test, and package pipelines with CANN 9.1.0 Co-authored-by: LiuZonggu<liuzonggu1@huawei.com> # message auto-generated for no-merge-commit merge: !69 merge oat-correct into master refactor(build): align build, test, and package pipelines with CANN 9.1.0 Created-by: LiuZonggu Commit-by: LiuZonggu Merged-by: cann-robot Description: ## 描述 本 PR 将 ops-ras 的依赖、构建、测试和安装基础设施对齐到 CANN 9.1.0,并清理了不属于 RAS 仓的 NN REG_OP 注册。 - CMake 与依赖:接入 cann-cmake 公共能力,统一管理 JSON、Abseil、Protobuf、Eigen、GoogleTest、OPBASE、mmpa 和可选 ops-test-kit;支持显式 CANN_3RD_LIB_PATH 与 ccache 开关;使用 version.cmake 生成 9.1.0 版本信息。 - 构建与 binary:更新构建入口、binary 配置/生成工具、Ascend350 映射、reliability 分类,以及 NPU architecture/Regbase 相关平台判断。 - 测试基础设施:增加 tiling、infershape、op_graph、op_kernel 和 AICPU 的公共 UT 执行与构建支撑。 - Graph/ES:删除 op_ras_proto_extend.h 内的 NN 模板注册;保留 --opgraph、proto 合并、Graph/ES 构建、Graph UT 和可选安装框架,并以实际代码 *_proto*.h 作为 source gate。当前默认源码无该输入,因此不生成或安装 ops_proto_ras.*、libopgraph_ras.so、libes_ras.so、ES 头或 wheel;显式 custom Graph source 仍可激活该框架。 - package/install:解压即安装,改用 cann-cmake 的公共 makeself/CPack/install 能力,统一 ops-ras 产品名与 ops_ras share-info 目录,删除仓内重复的 packer、latest-manager、makeself 和废弃安装辅助脚本;支持多路径 ASCEND_CUSTOM_OPP_PATH、RAS vendor fallback,以及 custom proto 对同包 ES 库的相对 RUNPATH。 ## 关联的Issue [#5](https://gitcode.com/cann/ops-ras/issues/5) ## 测试 - 构建:bash build.sh --pkg 通过;run 包 --check、--list、安装 fresh install、卸载 uninstall 无残留检查通过;默认包内无 graph 产物。 ## 文档更新 本 PR 未修改仓内产品文档;PR 与关联 Issue 的描述已按当前分支实现和实际验证边界更新。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他:CANN 9.1.0 工程基础设施迁移 See merge request: cann/ops-ras!69 | 2 个月前 | |
refactor(build): align build, test, and package pipelines with CANN 9.1.0 Co-authored-by: LiuZonggu<liuzonggu1@huawei.com> # message auto-generated for no-merge-commit merge: !69 merge oat-correct into master refactor(build): align build, test, and package pipelines with CANN 9.1.0 Created-by: LiuZonggu Commit-by: LiuZonggu Merged-by: cann-robot Description: ## 描述 本 PR 将 ops-ras 的依赖、构建、测试和安装基础设施对齐到 CANN 9.1.0,并清理了不属于 RAS 仓的 NN REG_OP 注册。 - CMake 与依赖:接入 cann-cmake 公共能力,统一管理 JSON、Abseil、Protobuf、Eigen、GoogleTest、OPBASE、mmpa 和可选 ops-test-kit;支持显式 CANN_3RD_LIB_PATH 与 ccache 开关;使用 version.cmake 生成 9.1.0 版本信息。 - 构建与 binary:更新构建入口、binary 配置/生成工具、Ascend350 映射、reliability 分类,以及 NPU architecture/Regbase 相关平台判断。 - 测试基础设施:增加 tiling、infershape、op_graph、op_kernel 和 AICPU 的公共 UT 执行与构建支撑。 - Graph/ES:删除 op_ras_proto_extend.h 内的 NN 模板注册;保留 --opgraph、proto 合并、Graph/ES 构建、Graph UT 和可选安装框架,并以实际代码 *_proto*.h 作为 source gate。当前默认源码无该输入,因此不生成或安装 ops_proto_ras.*、libopgraph_ras.so、libes_ras.so、ES 头或 wheel;显式 custom Graph source 仍可激活该框架。 - package/install:解压即安装,改用 cann-cmake 的公共 makeself/CPack/install 能力,统一 ops-ras 产品名与 ops_ras share-info 目录,删除仓内重复的 packer、latest-manager、makeself 和废弃安装辅助脚本;支持多路径 ASCEND_CUSTOM_OPP_PATH、RAS vendor fallback,以及 custom proto 对同包 ES 库的相对 RUNPATH。 ## 关联的Issue [#5](https://gitcode.com/cann/ops-ras/issues/5) ## 测试 - 构建:bash build.sh --pkg 通过;run 包 --check、--list、安装 fresh install、卸载 uninstall 无残留检查通过;默认包内无 graph 产物。 ## 文档更新 本 PR 未修改仓内产品文档;PR 与关联 Issue 的描述已按当前分支实现和实际验证边界更新。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他:CANN 9.1.0 工程基础设施迁移 See merge request: cann/ops-ras!69 | 2 个月前 | |
feat(build): 支持 deb/rpm 及 all 格式安装包构建 Co-authored-by: LiuZonggu<liuzonggu1@huawei.com> # message auto-generated for no-merge-commit merge: !98 merge feat/deb-rpm-packaging into master feat(build): 支持 deb/rpm 及 all 格式安装包构建 Created-by: LiuZonggu Commit-by: LiuZonggu Merged-by: cann-robot Description: ## 描述 为内置 ops-ras 算子包增加 deb/rpm 打包入口,可通过 bash build.sh --pkg --pkg-type=deb|rpm|all 选择格式;默认仍为 run,all 一次生成 run、deb 和 rpm 三种格式。 - 将 PACKAGE_TYPE 传递给 cann-cmake 公共打包配置,在 Shell 和 CMake 层校验格式与构建模式;deb/rpm/all 仅支持内置、非静态算子包。 - 构建前清理所选格式的旧 deb/rpm 产物,构建成功后从构建根目录收集到 build_out/,忽略 CPack 暂存副本及其他仓库产物;构建失败或缺少预期格式时返回错误。 - 补充 RPM 元数据,并对不支持 PACKAGE_TYPE 的旧版离线 cann-cmake 缓存给出明确错误提示。 ## 关联的Issue 关联 Issue #32:https://gitcode.com/cann/ops-ras/issues/32 ## 测试 - 测试通过,覆盖默认/显式格式、非法参数组合、产物清理与收集、缺失产物以及打包失败路径。 - 提交说明记录已在 Ubuntu 22.04 aarch64 上验证 deb、rpm、all 和默认 run 构建;本次提交 PR 时复跑上述回归与静态检查,未重新执行完整构建或安装验证。 ## 文档更新 更新 docs/zh/install/build.md 和 docs/en/install/build.md,补充打包命令 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-ras!98 | 20 天前 | |
refactor(build): align build, test, and package pipelines with CANN 9.1.0 Co-authored-by: LiuZonggu<liuzonggu1@huawei.com> # message auto-generated for no-merge-commit merge: !69 merge oat-correct into master refactor(build): align build, test, and package pipelines with CANN 9.1.0 Created-by: LiuZonggu Commit-by: LiuZonggu Merged-by: cann-robot Description: ## 描述 本 PR 将 ops-ras 的依赖、构建、测试和安装基础设施对齐到 CANN 9.1.0,并清理了不属于 RAS 仓的 NN REG_OP 注册。 - CMake 与依赖:接入 cann-cmake 公共能力,统一管理 JSON、Abseil、Protobuf、Eigen、GoogleTest、OPBASE、mmpa 和可选 ops-test-kit;支持显式 CANN_3RD_LIB_PATH 与 ccache 开关;使用 version.cmake 生成 9.1.0 版本信息。 - 构建与 binary:更新构建入口、binary 配置/生成工具、Ascend350 映射、reliability 分类,以及 NPU architecture/Regbase 相关平台判断。 - 测试基础设施:增加 tiling、infershape、op_graph、op_kernel 和 AICPU 的公共 UT 执行与构建支撑。 - Graph/ES:删除 op_ras_proto_extend.h 内的 NN 模板注册;保留 --opgraph、proto 合并、Graph/ES 构建、Graph UT 和可选安装框架,并以实际代码 *_proto*.h 作为 source gate。当前默认源码无该输入,因此不生成或安装 ops_proto_ras.*、libopgraph_ras.so、libes_ras.so、ES 头或 wheel;显式 custom Graph source 仍可激活该框架。 - package/install:解压即安装,改用 cann-cmake 的公共 makeself/CPack/install 能力,统一 ops-ras 产品名与 ops_ras share-info 目录,删除仓内重复的 packer、latest-manager、makeself 和废弃安装辅助脚本;支持多路径 ASCEND_CUSTOM_OPP_PATH、RAS vendor fallback,以及 custom proto 对同包 ES 库的相对 RUNPATH。 ## 关联的Issue [#5](https://gitcode.com/cann/ops-ras/issues/5) ## 测试 - 构建:bash build.sh --pkg 通过;run 包 --check、--list、安装 fresh install、卸载 uninstall 无残留检查通过;默认包内无 graph 产物。 ## 文档更新 本 PR 未修改仓内产品文档;PR 与关联 Issue 的描述已按当前分支实现和实际验证边界更新。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他:CANN 9.1.0 工程基础设施迁移 See merge request: cann/ops-ras!69 | 2 个月前 | |
refactor(build): align build, test, and package pipelines with CANN 9.1.0 Co-authored-by: LiuZonggu<liuzonggu1@huawei.com> # message auto-generated for no-merge-commit merge: !69 merge oat-correct into master refactor(build): align build, test, and package pipelines with CANN 9.1.0 Created-by: LiuZonggu Commit-by: LiuZonggu Merged-by: cann-robot Description: ## 描述 本 PR 将 ops-ras 的依赖、构建、测试和安装基础设施对齐到 CANN 9.1.0,并清理了不属于 RAS 仓的 NN REG_OP 注册。 - CMake 与依赖:接入 cann-cmake 公共能力,统一管理 JSON、Abseil、Protobuf、Eigen、GoogleTest、OPBASE、mmpa 和可选 ops-test-kit;支持显式 CANN_3RD_LIB_PATH 与 ccache 开关;使用 version.cmake 生成 9.1.0 版本信息。 - 构建与 binary:更新构建入口、binary 配置/生成工具、Ascend350 映射、reliability 分类,以及 NPU architecture/Regbase 相关平台判断。 - 测试基础设施:增加 tiling、infershape、op_graph、op_kernel 和 AICPU 的公共 UT 执行与构建支撑。 - Graph/ES:删除 op_ras_proto_extend.h 内的 NN 模板注册;保留 --opgraph、proto 合并、Graph/ES 构建、Graph UT 和可选安装框架,并以实际代码 *_proto*.h 作为 source gate。当前默认源码无该输入,因此不生成或安装 ops_proto_ras.*、libopgraph_ras.so、libes_ras.so、ES 头或 wheel;显式 custom Graph source 仍可激活该框架。 - package/install:解压即安装,改用 cann-cmake 的公共 makeself/CPack/install 能力,统一 ops-ras 产品名与 ops_ras share-info 目录,删除仓内重复的 packer、latest-manager、makeself 和废弃安装辅助脚本;支持多路径 ASCEND_CUSTOM_OPP_PATH、RAS vendor fallback,以及 custom proto 对同包 ES 库的相对 RUNPATH。 ## 关联的Issue [#5](https://gitcode.com/cann/ops-ras/issues/5) ## 测试 - 构建:bash build.sh --pkg 通过;run 包 --check、--list、安装 fresh install、卸载 uninstall 无残留检查通过;默认包内无 graph 产物。 ## 文档更新 本 PR 未修改仓内产品文档;PR 与关联 Issue 的描述已按当前分支实现和实际验证边界更新。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他:CANN 9.1.0 工程基础设施迁移 See merge request: cann/ops-ras!69 | 2 个月前 | |
refactor: 精简非公共工程并保留公共能力 Co-authored-by: LiuZonggu<liuzonggu1@huawei.com> # message auto-generated for no-merge-commit merge: !45 merge update-repo into master refactor: 精简非公共工程并保留公共能力 Created-by: LiuZonggu Commit-by: LiuZonggu Merged-by: cann-robot Description: ## 描述 本 PR 基于公共工程能力,对最初从的非公共实现、测试和工程进行精简。 - 删除没有 RAS 实际使用,构建目标、安装或公共使用的 common/act、旧 kernel/fallback/tiling 实现和无消费者头文件。 - 保留并整理 AddExample、opgen 实际使用的公共 OpHost tiling 能力;存在真实 kernel consumer 时仍按需交付 OPBASE atvoss/op_kernel payload。 - 删除仓内冗余的 level0/aclnn_kernels 实现。 - 清理 build/CMake/UT/CI/英文文档中的 ops-nn、ops-math 和 MatMul 遗留命名、无效路径及硬编码算子分组;保留固定 CI 入口。 ## 关联的Issue [#10](https://gitcode.com/cann/ops-ras/issues/10) ## 测试 全量默认 UT:bash build.sh -u 后 CTest 2/2 通过;OpAPI 29 个用例、公共 Host 3 个用例通过。 安装卸载没有残留文件和权限问题 ## 文档更新 更新英文编译、安装、AI Core/AI CPU 开发、算子调用和仿真文档:统一为 ops-ras/AddExample 的真实包名、库名、命令和路径,修复错误相对链接,并删除本仓不存在的离线下载工具描述。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:仓库工程精简与公共能力整理 See merge request: cann/ops-ras!45 | 1 个月前 | |
refactor: 精简非公共工程并保留公共能力 Co-authored-by: LiuZonggu<liuzonggu1@huawei.com> # message auto-generated for no-merge-commit merge: !45 merge update-repo into master refactor: 精简非公共工程并保留公共能力 Created-by: LiuZonggu Commit-by: LiuZonggu Merged-by: cann-robot Description: ## 描述 本 PR 基于公共工程能力,对最初从的非公共实现、测试和工程进行精简。 - 删除没有 RAS 实际使用,构建目标、安装或公共使用的 common/act、旧 kernel/fallback/tiling 实现和无消费者头文件。 - 保留并整理 AddExample、opgen 实际使用的公共 OpHost tiling 能力;存在真实 kernel consumer 时仍按需交付 OPBASE atvoss/op_kernel payload。 - 删除仓内冗余的 level0/aclnn_kernels 实现。 - 清理 build/CMake/UT/CI/英文文档中的 ops-nn、ops-math 和 MatMul 遗留命名、无效路径及硬编码算子分组;保留固定 CI 入口。 ## 关联的Issue [#10](https://gitcode.com/cann/ops-ras/issues/10) ## 测试 全量默认 UT:bash build.sh -u 后 CTest 2/2 通过;OpAPI 29 个用例、公共 Host 3 个用例通过。 安装卸载没有残留文件和权限问题 ## 文档更新 更新英文编译、安装、AI Core/AI CPU 开发、算子调用和仿真文档:统一为 ops-ras/AddExample 的真实包名、库名、命令和路径,修复错误相对链接,并删除本仓不存在的离线下载工具描述。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:仓库工程精简与公共能力整理 See merge request: cann/ops-ras!45 | 1 个月前 | |
refactor: 重命名 op_resource.h 为 op_resource_ras.h,消除跨仓重复头文件 Co-authored-by: LiuZonggu<liuzonggu1@huawei.com> # message auto-generated for no-merge-commit merge: !110 merge fix/duplicate-headers into master refactor: 重命名 op_resource.h 为 op_resource_ras.h,消除跨仓重复头文件 Created-by: LiuZonggu Commit-by: LiuZonggu Merged-by: cann-robot Description: ## 描述 跨仓头文件重复扫描按**文件名(basename)**判定,与文件所在路径无关。commit 96149df 已将 op_resource.h 从 common/inc/op_api 迁移到 common/include/static/ras(路径隔离),但文件名未变,跨仓扫描仍判定为重复头文件。 本 PR 将头文件恢复至 96149df 之前的路径并原地重命名: - common/include/static/ras/op_resource.h → common/inc/op_api/op_resource_ras.h,include guard 由 COMMON_RAS_OP_RESOURCE_H 更新为 COMMON_RAS_OP_RESOURCE_RAS_H,\file 注释同步更新 - scripts/util/modify_gen_aclnn_static.py:autogen 阶段 sed 替换目标由 op_resource.h 改为 op_resource_ras.h - cmake/variables.cmake:移除 96149df 新增的失效 include 路径 ${OPS_RAS_DIR}/common/include/static/ras(common/inc/op_api 原本就在 OPAPI_INCLUDE 中,构建接线无需新增) ## 关联的Issue 关联 Issue https://gitcode.com/cann/ops-ras/issues/39 ## 测试 全仓检查无 op_resource.h 残留引用,宏 EXTERN_OP_RESOURCE / AUTO_GEN_OP_RESOURCE 及其余逻辑未改动 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:工程清理与头文件重命名 See merge request: cann/ops-ras!110 | 14 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 26 天前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 19 天前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 20 天前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 14 天前 |