| Fix the issue of gmm examples Co-authored-by: lijiamin2025<lijiamin24@huawei.com> # message auto-generated for no-merge-commit merge: !10447 merge fixexample into master Fix the issue of gmm examples Created-by: lijiamin2025 Commit-by: lijiamin2025 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> fix the issue og gmm examples 问题:RunOpApi 会异步执行 acl_call,但回调原先按值捕获的 TensorList 和 IntArrayRef 本质上只是ArrayRef 视图,只保存“指针 + 长度”,不拥有底层数组。 因此调用 Python 算子后,Python list 转换出的临时 C++ 数组可能已经释放;而异步线程稍后才在回调中访问x、weight、bias 等参数,便会解引用悬垂指针并崩溃。 修复:在提交异步任务前复制真实数据,在异步回调执行时重建临时视图 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/4482 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 重新运行压力用例:20 轮 × 101 次调用、每轮同步,共 2,020 次;全部输出 stress_completed,未发生 SIGSEGV。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!10447 | 11 天前 |