【2023 · CANN训练营第一季】TIKC++算子开发入门
1. 学会编写TIK2-helloworld演示样例

1.1 认识运行CPU核NPU模式的头文件的区别
1.2 了解核函数的定义
核函数(Kernel Function )是TIK C++ 算子设备侧的入口。TIK C++ 允许用户使用核函数这种C/C++ 函数的语法扩展来管理设备侧的运行代码,用户在核函数中实现算子逻辑的编写,例如自定义算子类及其成员函数以实现该算子的所有功能。核函数是主机侧和设备侧连接的桥梁。 核函数(内核函数)是Tik C++ 算子设备侧的入口。Tik C++ 允许用户使用核函数这种C/C++函数的语法扩展来管理设备侧的运行代码,用户在核函数中实现算子逻辑的编写,例如自定义算子类及其成员函数以实现该算子的所有功能。核函数是主机侧和设备侧连接的桥梁。
核函数是直接在设备侧执行的代码。在核函数中,需要为在一个核上执行的代码规定要进行的数据访问和计算操作,当核函数被调用时,多个核将并行执行同一个计算任务 核函数是直接在设备侧执行的代码.在核函数中,需要为在一个核上执行的代码规定要进行的数据访问和计算操作,当核函数被调用时,多个核将并行执行同一个计算任务
2. 理解CPU模式和NPU模式的区别
CPU模式∶算子功能调试用,可以模拟在NPU上的计算行为,不需要依赖昇腾设备 NPU模式∶算子功能/性能调试,可以使用NPU的强大算力进行运算加速 使用

3. 认识内置宏__CCE_KT_TEST__和执行宏ICPU_RUN_KF
**内置宏__CCE_KT_TEST__**标识被宏包括的代码在特定的模式下编译
4. 掌握CPU模式和NPU模式下主机侧的重要接口
- GmAlloc(...)与GmFree(...)
- aclInit(...)与ac1Finalize(...)
- aclrtCreateStream()与aclrtDestroyStream(...)
- aclrtalloc(...)与aclrtFree(...)
- aclrtrallocHost(...)与aclrtFreeHost(...)
- aclrtHemcpy(...)
5. 成功编译CPU模式和NPU模式下的helloworld并执行
5.1 获取官方给出的代码,vscode打开

5.2 用CPU运行命令执行文件

5.3 用npu执行
由于是执行编写核函数,没有特别的输出 
【2023 · CANN训练营第一季】TIKC++算子开发入门
1. 学会编写TIK2-helloworld演示样例
1.1 认识运行CPU核NPU模式的头文件的区别
1.2 了解核函数的定义
核函数是直接在设备侧执行的代码。在核函数中,需要为在一个核上执行的代码规定要进行的数据访问和计算操作,当核函数被调用时,多个核将并行执行同一个计算任务 核函数是直接在设备侧执行的代码.在核函数中,需要为在一个核上执行的代码规定要进行的数据访问和计算操作,当核函数被调用时,多个核将并行执行同一个计算任务
2. 理解CPU模式和NPU模式的区别
CPU模式∶算子功能调试用,可以模拟在NPU上的计算行为,不需要依赖昇腾设备 NPU模式∶算子功能/性能调试,可以使用NPU的强大算力进行运算加速 使用
3. 认识内置宏__CCE_KT_TEST__和执行宏ICPU_RUN_KF
**内置宏__CCE_KT_TEST__**标识被宏包括的代码在特定的模式下编译
4. 掌握CPU模式和NPU模式下主机侧的重要接口
5. 成功编译CPU模式和NPU模式下的helloworld并执行
5.1 获取官方给出的代码,vscode打开
5.2 用CPU运行命令执行文件
5.3 用npu执行
由于是执行编写核函数,没有特别的输出