【2023 · CANN训练营第一季】Ascend C算子开发入门(上)

1.课程简介

课程地址

第一章 Ascend C(旧名TIK C++)算子开发入门

https://www.hiascend.com/zh/developer/courses/detail/1627494761683783682

课程视频

https://space.bilibili.com/1190614918/channel/collectiondetail?sid=1201995

TIK2文档

https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/63RC1alpha002/operatordevelopment/tik2opdevg/atlastik2_10_0001.html

在线实验>基于昇腾CANN的TIK C++算子开发

https://www.hiascend.com/zh/edu/experiment/detail/Tik_xl

示例代码

https://gitee.com/zgx950813/samples/blob/master/tik2_demo/kernel_samples/hello_world.cpp

2.前言

  • 当前TIK2支持的AI处理器型号为昇腾310P AI处理器、昇腾910 AI处理器,其他型号暂不支持
  • 当前支持用户使用g++等C/C++编译器编译在cpu侧执行的TIK2算子,并使用gdb单步调试;支持用户使用CCEC编译器编译在npu侧执行的TIK2算子,实现加速计算,暂不支持加载至网络模型中进行整网验证。

3.TIK C++算子开发入门

3.1介绍

3.2核函数概念

核函数有2个限定符,具体说明如下

extern "C" __global__ __aicore__ void HelloWorld(__gm__ uint8_t* foo) {}

 输入参数可统一使用__gm__ uint8_t类型,然后在函数体内再转化为实际的类型

 核函数调用的3个参数,实际使用2个blockDim和Stream

使用宏__CCE_KT_TEST__来区分是在CPU模式或NPU模式下运行算子

 样例代码详解

 

 

 

 CPU模式和NPU模式下编译和运行的命令

接口介绍

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值