| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(op_graph): 修复CANN_OPS_OPB_SYN_EXEC_ACLNN宏中int(-1)赋值给uint32_t的符号转换问题 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !822 merge master into master fix(op_graph): 修复CANN_OPS_OPB_SYN_EXEC_ACLNN宏中int(-1)赋值给uint32_t的符号转换问题 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 ### 改动原因 CANN_OPS_OPB_SYN_EXEC_ACLNN 宏(include/op_common/op_graph/op_fallback.h)内部的 acl_call lambda 此前返回类型为 int: - 失败路径 return GRAPH_FAILED(graphStatus 常量,0xFFFFFFFF)先转换为 int(-1),随后赋值给 static auto ret(GRAPH_SUCCESS 初始化,graphStatus 即 uint32_t)时发生 int(-1) → uint32_t 的隐式符号转换,触发 -Wsign-conversion 类编译告警,-Werror 场景下编译失败; - 成功路径 return op_api_ret(int 型 0)同样存在 int → uint32_t 隐式转换。 ### 改动方法 1. acl_call lambda 返回类型由 int 改为 graphStatus; 2. 成功路径改为显式 return GRAPH_SUCCESS,消除 int → uint32_t 隐式转换; 3. 其余为宏续行符(反斜杠)对齐的格式调整,无功能变化。 修复后 lambda 全程在 graphStatus 类型域内返回值,语义不变(成功 0 / 失败 GRAPH_FAILED)。 ## 关联的Issue #404 ## 测试 编译验证通过(符号转换告警消除),宏的返回值语义(GRAPH_SUCCESS/GRAPH_FAILED)不变。 ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!822 | 19 天前 | |
feat(fallback 2stages) Co-authored-by: esok11<yangsifa@huawei.com> # message auto-generated for no-merge-commit merge: !740 merge f081401 into master feat(fallback 2stages) Created-by: esok11 Commit-by: esok11 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 为 op fallback 执行路径新增两阶段(2-stage)执行机制,将原有的单阶段 EXEC_OPAPI_CMD(Prepare + Launch 同步串行)拆分为独立的 Prepare 阶段与 Launch 阶段,使执行图能够在 Prepare 阶段完成算子执行器与 workspace 资源的准备,并在后续合适时机再触发 Launch,为调度优化提供基础。 ### 改动内容 **include/op_common/op_graph/op_fallback.h** - 新增宏 CANN_OPS_OPB_ASYN_EXEC_ACLNN:仅完成 Prepare 阶段工作——获取 ResetCacheThreadLocal、{aclnn_api}GetWorkspaceSize、{aclnn_api} 三个函数地址;创建 OpApiParams 对象封装 executor、op_api_func 与转换后的参数列表;将 OpApiParams 通过 SetOpApiParamsWithDefaultDeleter 托管给 host_api_ctx 管理生命周期;调用 GetWorkspaceSize 获取 workspace 大小并通过 SetWorkspaceSizes 设置到上下文,供后续 Launch 阶段使用。 **include/op_common/op_graph/op_fallback_internal.h** - 新增 aclIntArray、aclFloatArray、aclBoolArray 的创建与销毁函数指针类型别名(_aclCreateIntArray/_aclDestroyIntArray 等),补齐原有仅覆盖 aclTensor/aclScalar/aclTensorList 的类型支持。 - 新增两阶段执行所需的内部类型与接口: - OpApiAnyValue(带析构器的通用参数容器)与 OpApiAnyValueDeleter - OpApiFunc2Stage(两阶段 Launch 函数指针类型) - OpApiParams(封装 converted_params、executor、op_api_func,作为 Prepare 阶段产出传递给 Launch 阶段) - 新增 Collect 重载集与 CollectConvertedTypes 模板:为 aclTensor/aclScalar/aclIntArray/aclBoolArray/aclTensorList 等类型分别绑定对应的析构器并收集到 OpApiParams.converted_params,确保两阶段分离后参数资源在 Launch 完成后仍能正确释放。 - 新增 op_execute_prepare_context.h、op_execute_launch_context.h 头文件依赖。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> - #299 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 本 PR 未包含文档更新。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!740 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 19 天前 | ||
| 1 个月前 |