已合并
【PR】: 为 ACL Runtime API 补齐 C++ 模板封装和函数重载接口 #1981
【PR】: 为 ACL Runtime API 补齐 C++ 模板封装和函数重载接口 #1981
已合并
ykl999创建于 5月8日
ykl999
ykl999成员
5月8日

Summary

为 ACL Runtime API 补齐 C++ 模板封装和函数重载接口

新增文件

  • include/external/acl/acl_rt_api.h:C++ 扩展头文件,提供 7 个函数重载和 16 个模板函数

修改文件

  • stub/gen_stubapi.py:添加过滤逻辑,跳过 C++ 扩展头文件(line 70-71)
  • tests/ut/acl/testcase/acl_runtime_unittest.cpp:新增 UT 测试用例验证 C++ 接口

设计说明

  • acl_rt.h 保持不变(纯 C API)
  • acl_rt_api.h 新增 C++ 扩展(include acl_rt.h,提供类型安全的模板封装)
  • C/C++ API 分层设计,架构清晰,符合 CANN 规范

功能特性

函数重载(简化 API 调用)

  • aclrtMalloc(void** ptr, size_t size) - 自动推导默认内存类型
  • aclrtMallocHost(void** ptr, size_t size) - 简化主机内存分配
  • aclrtPointerGetAttributes(aclrtPointerAttribute* attr, const void* ptr) - 自动获取内存属性
  • aclrtHostRegister(void* ptr, size_t size) - 简化主机内存注册
  • aclrtHostUnregister(void* ptr) - 简化主机内存注销
    模板函数(类型安全)
  • aclrtMalloc(T** ptr, size_t size, aclrtMemMallocPolicy policy)
  • aclrtMallocHost(T** ptr, size_t size)
  • aclrtMemAllocManaged(T** ptr, size_t size, uint64_t flags)
  • 支持 void* 自动转换、类型推导、编译期类型检查

UT 测试覆盖

  • 函数重载测试:验证简化接口正确调用底层 C API
  • 模板函数测试:验证类型推导、void* 转换、边界检查
  • 编译验证:通过 g++ -std=c++11 编译测试
likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 ykl999 的贡献)
ykl999ykl999成员
5月8日 创建了 pull request,commit f0ec1b21
ykl999ykl999成员
5月8日 添加了label:enhancement
CANN-robot
CANN-robot成员
5月8日 评论:

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


PR Approval Progress

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

Module Approval Details

module lgtm status approve status
docs 侯延保, 张子菁, yanmingxiang (3/2) 侯延保, 张子菁 (2/1)
include 侯延保, 张子菁, yanmingxiang (3/2) 侯延保, 张子菁 (2/1)
repo-cann/runtime 侯延保, 张子菁, yanmingxiang (3/2) 侯延保, 张子菁 (2/1)
tests/ut/acl 侯延保, yanmingxiang (2/2) 侯延保 (1/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)

CLA Signature Pass

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

likedislike
CANN-robotCANN-robot成员
5月8日 添加了label:cann-cla/yes
CANN-robotCANN-robot成员
5月8日 将zhaozhixuan,wda1991,wangtao43,zhangpengpeng8,changhaixun,yanmingxiang,turing_yhy,Reyn52166,luoyuzhou2,Turing_JasonWen,Axiaolei,sunnana_004434229,houyanbao,wangluyao17,zhou-wuxiao,tingwood设为评审人
此处折叠了152条消息 查看更多
CANN-robotCANN-robot成员
5月9日 添加了label:lgtm
houyanbao成员
5月9日 评论:

/approve

likedislike
CANN-robotCANN-robot成员
5月9日 添加了label:approved
CANN-robot
CANN-robot成员
5月9日 评论:

Review Guide

This pull-request passes review.
Committers who wrote a comment of /approve are: 张子菁, 侯延保.
Reviewers who wrote a comment of /lgtm are: 张子菁, 侯延保, yanmingxiang.

likedislike
CANN-robotCANN-robot成员
5月9日 合入了pull request