当前位置: 首页 > news >正文

CANN/asc-devkit Async函数API文档

Async

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

产品支持情况

产品

是否支持

Ascend 950PR/Ascend 950DT

Atlas A3 训练系列产品 / Atlas A3 推理系列产品

Atlas A2 训练系列产品 / Atlas A2 推理系列产品

功能说明

Async提供了一个统一的接口,用于在不同模式下(AIC或AIV)执行特定函数,从而避免代码中直接的硬件条件判断(如使用ASCEND_IS_AIV或ASCEND_IS_AIC)。

函数原型

template <EngineType engine, auto funPtr, class... Args> __aicore__ void Async(Args... args)

参数说明

表 1模板参数说明

参数名

描述

engine

引擎模式,参数取值分别为AIC、AIV。

enum class EngineType : int32_t { AIC = 1, // 仅AIC AIV = 2 // 仅AIV };

funPtr

函数指针,指定要执行的函数,函数签名和参数类型由class... Args决定。

class... Args

可变参数模板,表示函数参数的类型列表,用于传递给funPtr。

表 2参数说明

参数名

输入/输出

描述

Args... args

输入

与class... Args对应的参数列表,表示传递给funPtr的实际参数。

返回值说明

约束说明

调用示例

extern "C" __global__ __aicore__ void baremix_custom(GM_ADDR a, GM_ADDR b, GM_ADDR bias, GM_ADDR c, GM_ADDR workspace, GM_ADDR tilingGm) { KERNEL_TASK_TYPE_DEFAULT(KERNEL_TYPE_MIX_AIC_1_2); AscendC::TPipe pipe; TCubeTiling tiling; CopyTiling(&tiling, tilingGm); // 避免代码中直接的硬件条件判断(如使用ASCEND_IS_AIV或ASCEND_IS_AIC) Async<EngineType::AIC, aicOperation>(a, b, bias, c, workspace, tiling, &pipe); Async<EngineType::AIV, aivOperation>(c, tiling, &pipe); } __aicore__ inline void aicOperation(GM_ADDR a, GM_ADDR b, GM_ADDR bias, GM_ADDR c, GM_ADDR workspace, const TCubeTiling &tiling, AscendC::TPipe *pipe) { MatmulLeakyKernel<half, half, float, float> matmulLeakyKernel; matmulLeakyKernel.Init(a, b, bias, c, workspace, tiling, pipe); REGIST_MATMUL_OBJ(pipe, GetSysWorkSpacePtr(), matmulLeakyKernel.matmulObj, &matmulLeakyKernel.tiling); matmulLeakyKernel.Process(pipe); } __aicore__ inline void aivOperation(GM_ADDR c, const TCubeTiling &tiling, AscendC::TPipe *pipe) { LeakyReluKernel<float> leakyReluKernel; leakyReluKernel.Init(c, tiling, pipe); leakyReluKernel.Process(pipe); }

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/786214/

相关文章:

  • 【准Z源直流-直流变换器】具有单个开关电容支路的高增益准Z源直流-直流变换器研究(Simulink仿真实现)
  • 对话式AI如何隐秘引导消费决策:行为心理学实验揭示四大机制
  • MI-CLAIM-GEN:临床生成式AI研究的透明化报告清单深度解析
  • 实测 Taotoken 多模型路由在不同时段的响应延迟与稳定性
  • CANN/graph-autofusion自动融合组件
  • 生成式AI时代职场生存指南:技能重塑与人机协同实践
  • CANN/pypto设置卷积Tile形状
  • 基于拓扑数据分析的纳米图像去噪:原理、实践与动态结构研究
  • Web代理逆向工程:从协议分析到客户端架构的技术实践与风险
  • 使用codeskeleton构建代码知识图谱:可视化架构与识别隐藏依赖
  • AI技术如何驱动可持续发展:从数据到决策的绿色引擎
  • 基于Claude API与Telegram Bot构建私有AI助手:架构设计与生产部署指南
  • 系外行星探测四大主流方法:原理、应用与前沿技术解析
  • Gryph:为AI编程助手打造本地化行为审计与可观测性工具
  • SITS2026到底值不值得上手?2024真实Benchmark对比LlamaIndex+LangChain+AutoGen,性能提升47%的关键配置曝光
  • CANN模型推理实施者
  • Arm Neoverse V3AE核心寄存器架构与性能优化
  • 2026年5月温州企业税务外包服务商综合**:泓远财务咨询领跑*单 - 2026年企业推荐榜
  • 生成式AI七大法律风险解析:从数据版权到内容责任
  • 2026年5月随州工商注销服务平台**联系与选择指南 - 2026年企业推荐榜
  • 基于角色的AI能力框架:重塑工程教育中的人机协作新范式
  • 2026年成都市政路灯定制优选:如何甄别实力与服务兼备的厂家? - 2026年企业推荐榜
  • CANN/metadef AppendStride函数
  • 2026年阜阳企业如何选择不当得利纠纷法律顾问 - 2026年企业推荐榜
  • CANN/AMCT算法介绍文档
  • 阴阳师自动化脚本终极指南:智能游戏助手让日常任务轻松完成
  • CANN/cannbot-skills FA调用完整代码示例
  • 为内容创作平台集成AI能力时如何借助Taotoken灵活选型与控本
  • Python工程化实践:从能跑通到可维护的代码质量提升指南
  • 2026年曲靖家庭与工程用户,如何选到性价比爆表的天然气热水器?家园至尊深度解析 - 2026年企业推荐榜