CANN/asc-devkit:ICPU_RUN_KF CPU调试接口

发布时间:2026/7/16 10:50:02

CANN/asc-devkit:ICPU_RUN_KF CPU调试接口
ICPU_RUN_KF【免费下载链接】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 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品AI Core支持Atlas 推理系列产品Vector Core不支持Atlas 训练系列产品支持Kirin X90支持Kirin 9030支持功能说明头文件路径为tools/cpudebug/include/kern_fwk.h。进行核函数的CPU侧运行验证时CPU调测总入口完成CPU侧的算子程序调用。函数原型#define ICPU_RUN_KF(func, numBlocks, ...)参数说明表1模板参数说明参数名称输入/输出描述func输入算子的kernel函数指针。numBlocks输入算子的核心数corenum。...输入所有的入参和出参依次填入当前参数个数限制为32个超出32时会出现编译错误。返回值说明无约束说明为了保留接口兼容推荐编译使用。除了func、blkdim以外其他的变量都必须是通过GmAlloc分配的共享内存的指针传入的参数的数量和顺序都必须和kernel保持一致。调用示例下面代码以add_custom算子为例介绍算子核函数在CPU侧验证时算子调用的应用程序如何编写。您在实现自己的应用程序时需要关注由于算子核函数不同带来的修改包括算子核函数名入参出参的不同等合理安排相应的内存分配、内存拷贝和文件读写等相关API的调用方式直接复用即可。按需包含头文件通过ASCENDC_CPU_DEBUG宏区分CPU和NPU侧需要包含的头文件。#include data_utils.h #ifndef ASCENDC_CPU_DEBUG #include acl/acl.h #else #include tikicpulib.h extern C __global__ __aicore__ void add_custom(GM_ADDR x, GM_ADDR y, GM_ADDR z); // 核函数声明。 #endifCPU侧运行验证。完成算子核函数CPU侧运行验证的步骤如下图1CPU侧运行验证步骤![](https://raw.gitcode.com/cann/asc-devkit/raw/1cd1d1192e01ae4a8684cd07552c35e13e5c4bdf/docs/zh/api/figures/CPU侧运行验证步骤.png CPU侧运行验证步骤?utm_sourcegitcode_repo_files)int32_t main(int32_t argc, char* argv[]) { uint32_t numBlocks 8; size_t inputByteSize 8 * 2048 * sizeof(uint16_t); size_t outputByteSize 8 * 2048 * sizeof(uint16_t); // 使用GmAlloc分配共享内存并进行数据初始化。 uint8_t* x (uint8_t*)AscendC::GmAlloc(inputByteSize); uint8_t* y (uint8_t*)AscendC::GmAlloc(inputByteSize); uint8_t* z (uint8_t*)AscendC::GmAlloc(outputByteSize); ReadFile(./input/input_x.bin, inputByteSize, x, inputByteSize); ReadFile(./input/input_y.bin, inputByteSize, y, inputByteSize); // 矢量算子需要设置内核模式为AIV模式。 AscendC::SetKernelMode(KernelMode::AIV_MODE); // 调用ICPU_RUN_KF调测宏完成核函数CPU侧的调用。 ICPU_RUN_KF(add_custom, numBlocks, x, y, z); // 输出数据写出。 WriteFile(./output/output_z.bin, z, outputByteSize); // 调用GmFree释放申请的资源。 AscendC::GmFree((void *)x); AscendC::GmFree((void *)y); AscendC::GmFree((void *)z); return 0; }【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

解密苹果技术面试:从LeetCode高频题到实际解题策略

解密苹果技术面试:从LeetCode高频题到实际解题策略

2026/7/16 10:50:02

解密苹果技术面试:从LeetCode高频题到实际解题策略 【免费下载链接】LeetCode-Questions-CompanyWise Contains Company Wise Questions sorted based on Frequency and all time 项目地址: https://gitcode.com/GitHub_Trending/le/LeetCode-Questions-CompanyWi…

电动挡烟垂壁产品概述与工程

电动挡烟垂壁产品概述与工程

2026/7/16 10:50:02

电动挡烟垂壁是现代大型公共建筑、商业综合体、展厅、高架厂房、中庭大空间建筑防烟排烟系统中的核心消防设施,属于活动式防烟分隔构件。相较于固定式玻璃挡烟垂壁,电动挡烟垂壁具备可收放、可联动、智能化控制的特点,常态下隐藏收纳于吊顶内…

视频编解码技术:原理、标准与应用实践

视频编解码技术:原理、标准与应用实践

2026/7/16 10:50:02

1. 视频编解码技术概述视频编解码技术是现代数字媒体系统的核心技术之一,它通过特定的算法对视频数据进行压缩和解压缩处理。这项技术解决了原始视频数据量过大导致的存储和传输难题——未经压缩的1080p高清视频每分钟数据量可达10GB以上,而经过H.265编码…

VisionFive RISC-V开发板评测与开发实践

VisionFive RISC-V开发板评测与开发实践

2026/7/16 12:00:06

1. VisionFive开发板初印象:开箱与硬件解析当我拆开赛昉科技昉星光RISC-V单板计算机的包装时,第一感觉是这款VisionFive开发板的工业设计相当考究。静电袋包装的主板尺寸为85mm100mm,与树莓派4的板型相近,但布局更为紧凑。板载的J…

Ubuntu 24.04切换Fcitx4安装搜狗输入法指南

Ubuntu 24.04切换Fcitx4安装搜狗输入法指南

2026/7/16 12:00:06

1. Ubuntu 24.04 输入法框架现状解析Ubuntu 24.04 LTS作为最新的长期支持版本,默认采用了Fcitx5作为输入法框架。这个决定其实反映了Linux桌面环境的发展趋势——Fcitx5相比前代Fcitx4在内存占用、响应速度和Wayland兼容性上都有显著提升。但这也带来了一个现实问题…

微控制器故障保护机制与容错设计实践

微控制器故障保护机制与容错设计实践

2026/7/16 12:00:06

1. 微控制器集成电路故障保护的背景与必要性微控制器(Microcontroller Unit, MCU)作为现代电子系统的核心,其可靠性直接决定了整个设备的运行稳定性。在汽车电子、工业控制、医疗设备等关键领域,一个微秒级的MCU故障可能导致灾难性…

SD-PPP:Photoshop的AI魔法画笔,让创意在画布上自然生长

SD-PPP:Photoshop的AI魔法画笔,让创意在画布上自然生长

2026/7/16 12:00:06

SD-PPP:Photoshop的AI魔法画笔,让创意在画布上自然生长 【免费下载链接】sd-ppp A Photoshop AI plugin 项目地址: https://gitcode.com/gh_mirrors/sd/sd-ppp 想象一下这样的场景:你正在Photoshop中设计一张海报,突然灵感…

视频速度控制器终极指南:3分钟掌握16倍速播放的秘诀

视频速度控制器终极指南:3分钟掌握16倍速播放的秘诀

2026/7/16 12:00:06

视频速度控制器终极指南:3分钟掌握16倍速播放的秘诀 【免费下载链接】videospeed HTML5 video speed controller (for Google Chrome) 项目地址: https://gitcode.com/gh_mirrors/vi/videospeed 还在为视频播放速度太慢而烦恼吗?想要像读书一样自…

告别复制粘贴:用Xpath Helper插件精准定位,让网页数据抓取效率翻倍

告别复制粘贴:用Xpath Helper插件精准定位,让网页数据抓取效率翻倍

2026/7/16 11:50:05

1. 为什么你需要Xpath Helper插件如果你经常需要从网页上抓取数据,肯定遇到过这样的烦恼:在开发者工具里翻来覆去找元素,复制XPath路径到代码里测试,结果发现定位不准又要重新调整。这种反复折腾的过程,不仅浪费时间&a…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/16 0:35:09

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/13 20:43:19

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/15 0:26:43

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载:…

Python实现跨境电商商品图批量翻译教程

Python实现跨境电商商品图批量翻译教程

2026/7/16 0:09:31

一、问题引入做跨境电商的卖家朋友,你是否遇到过这样的困扰?每次上架新品到亚马逊、Shopee或Lazada等平台,都需要处理大量商品图片的多语言版本。比如上架200款衣服,每款需要翻译成英语、日语、韩语等5种语言,这意味着…

跨境电商多语言商品图翻译方案实现

跨境电商多语言商品图翻译方案实现

2026/7/16 0:09:31

一、问题引入对于做跨境电商的卖家来说,多语言商品图的制作一直是令人头疼的环节。当你准备在亚马逊、Shopee、Lazada等多个平台同步上架新品时,首先遇到的就是图片翻译问题。以一位做家居用品的卖家为例,他需要将200张商品图片中的英文文案全…

Windows系统文件d3dx9_36.dll丢失找不到问题解决

Windows系统文件d3dx9_36.dll丢失找不到问题解决

2026/7/16 0:09:31

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…