已合并
fix(quant_batch_matmul_inplace_add): 释放 MXFP8 示例 workspace #9938
ddssz创建于 9月7日
fix(quant_batch_matmul_inplace_add): 释放 MXFP8 示例 workspace #9938
已合并
ddssz创建于 9月7日
ddssz
ddssz成员
9月7日

描述

QuantBatchMatmulInplaceAdd 的 MXFP8 ACLNN 示例在成功分配 workspace 后,正常返回和后续错误返回路径均缺少配对的 aclrtFree。

在 workspace 分配的 if 块之后构造 std::unique_ptr<void, aclError (*)(void*)> workspaceAddrPtr(workspaceAddr, aclrtFree);,使 workspace 的生命周期覆盖后续算子调用和流同步,并在函数退出时自动释放。

关联的Issue

关联 Issue:#5608

测试

  • git diff --check 通过。
  • 静态检查正常返回、后续 CHECK_RET 提前返回及零 workspace 路径的资源生命周期。

文档更新

无。

类型标签

AI/Agent生成声明

likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 ddssz 的贡献)
ddsszddssz成员
9月7日 创建了 pull request,commit 675181ad
atomgit-bot
atomgit-bot
9月7日 评论:

变更摘要

本 PR 修复 quant_batch_matmul_inplace_add 示例中 MXFP8 ACLNN 调用的 workspace 内存泄漏问题:AclnnQuantBatchMatmulInplaceAddTest 中调用 aclrtMalloc 成功分配 workspace 后,正常返回与后续错误返回路径均未执行配对的 aclrtFree。修复方式是在 workspace 分配的 if 块之后构造 std::unique_ptr<void, aclError (*)(void*)> workspaceAddrPtr(workspaceAddr, aclrtFree),让 workspace 生命周期覆盖后续算子调用与流同步,并在函数退出时自动释放;同时补充了文件末尾缺失的换行符。

主要改动

  • 引入 RAII 管理 workspace 释放:在 workspaceAddr 分配成功之后新增 std::unique_ptr<void, aclError (*)(void*)> workspaceAddrPtr(workspaceAddr, aclrtFree),以 aclrtFree 作为自定义删除器,使函数在正常返回、CHECK_RET 提前返回及零 workspace 路径上均能自动释放内存,避免泄漏。
  • 补全文件末尾换行:在 test_aclnn_quant_batch_matmul_inplace_add_mxfp8.cpp 末尾为关闭的 main 函数大括号补上换行符(消除 "No newline at end of file" 提示)。
likedislike
不准确?
atomgit-bot
atomgit-bot
9月7日 评论:

代码审查

✅ 未发现问题

likedislike
不准确?
CANN-robotCANN-robot成员
9月7日 添加了label:cann-cla/yes
CANN-robot
CANN-robot成员
9月7日 评论:

Thanks for your pull-request.
The full list of commands accepted by me can be found at here.
You can get sig-info at here.
You can self-configure the PR merge rules for this repository. For more details, please refer to Here.
For more, you also can visit HICANN.


PR Approval Progress

✅ Congratulations! All modules have met the lgtm and approve requirements.

Module Approval Details

module lgtm status approve status
matmul ✅ 杨阳, 王子韬 (2/2) ✅ 杨阳 (1/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)
likedislike
CANN-robot
CANN-robot成员
9月7日 评论:

CLA Signature Pass

smdbha, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
CANN-robotCANN-robot成员
9月7日 将zengjuan,sxb154714,chaotang233,crystalhu,yangyang016,fanqirui,chenqi317,LinPX,liubo75,tangweiwei2,wangzitao_leo,xubinglin,rueenov11,pingchuantang,liuyang_806设为评审人
CANN-robotCANN-robot成员
9月7日 将sxb154714,chaotang233,yangyang016,fanqirui,chenqi317,LinPX,tangweiwei2,wangzitao_leo,xubinglin,rueenov11,liuyang_806设为审查人
ddsszddssz成员
9月7日 关联了issue:[Bug-Report|缺陷反馈]: QuantBatchMatmulInplaceAdd MXFP8 示例 workspace 缺少释放
ddsszddssz成员
9月7日 修改了pull request 的描述
ddsszddssz成员
9月7日 修改了pull request 的描述
ddssz
ddssz成员
9月7日 评论:

compile

likedislike
ddsszddssz成员
9月7日 预合并成功(commit_id: 8471879a3542d0f6c2ec8d2f5ccb51059dfb2eca)
CANN-robot
CANN-robot成员
9月7日 评论:
🚀 CI 流水线已启动
📋 执行详情: 点击查看流水线
likedislike
CANN-robotCANN-robot成员
9月7日 添加了label:ci-pipeline-running
CANN-robotCANN-robot成员
9月7日 删除了label:ci-pipeline-running
CANN-robotCANN-robot成员
9月7日 添加了label:ci-pipeline-passed
wangzitao
wangzitao成员
9月7日 评论:

/lgtm

likedislike
yuning_chen
yuning_chen成员
9月7日 评论:

您好,pr合入已准备就绪,请尽快联系committer进行检视,谢谢!

likedislike
yangyang016成员
9月7日 评论:

/lgtm
/approve

likedislike
CANN-robotCANN-robot成员
9月7日 添加了label:lgtmapproved
CANN-robotCANN-robot成员
9月7日 关闭了关联的issue
CANN-robotCANN-robot成员
9月7日 合入了pull request