尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Ascend C高效使用搬运API指南
高效的使用搬运API【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit【优先级】高【描述】在使用搬运API时应该尽可能地通过配置搬运控制参数实现连续搬运或者固定间隔搬运避免使用for循环二者效率差距极大。如下图示例图片的每一行为16KB需要从每一行中搬运前2KB针对这种场景使用for循环遍历每行每次仅能搬运2KB。若直接配置DataCopyParams参数包含srcStride/dstStride/blockLen/blockCount则可以达到一次搬完的效果每次搬运32KB参考尽量一次搬运较大的数据块章节介绍的搬运数据量和实际带宽的关系建议一次搬完。图1待搬运数据排布![](https://raw.gitcode.com/cann/asc-devkit/raw/ded540824a702f5cab69a36879315c31ce8ff9b7/docs/zh/guide/figures/待搬运数据排布.png 待搬运数据排布?utm_sourcegitcode_repo_files)【反例】// 搬运数据存在间隔从GM上每行16KB中搬运2KB数据,共16行 LocalTensorfloat tensorIn; GlobalTensorfloat tensorGM; ... constexpr int32_t copyWidth 2 * 1024 / sizeof(float); constexpr int32_t imgWidth 16 * 1024 / sizeof(float); constexpr int32_t imgHeight 16; // 使用for循环每次只能搬运2K重复16次 for (int i 0; i imgHeight; i) { DataCopy(tensorIn[i * copyWidth], tensorGM[i * imgWidth], copyWidth); }【正例】LocalTensorfloat tensorIn; GlobalTensorfloat tensorGM; ... constexpr int32_t copyWidth 2 * 1024 / sizeof(float); constexpr int32_t imgWidth 16 * 1024 / sizeof(float); constexpr int32_t imgHeight 16; // 通过DataCopy包含DataCopyParams的接口一次搬完 DataCopyParams copyParams; copyParams.blockCount imgHeight; copyParams.blockLen copyWidth / 8; // 搬运的单位为DataBlock(32Byte)每个DataBlock内有8个float copyParams.srcStride (imgWidth - copyWidth) / 8; // 表示两次搬运src之间的间隔单位为DataBlock copyParams.dstStride 0; // 连续写两次搬运之间dst的间隔为0单位为DataBlock DataCopy(tensorGM, tensorIn, copyParams);【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

LFM2.5-Embedding-350M-8bit开发者指南:自定义模型与扩展功能

LFM2.5-Embedding-350M-8bit开发者指南:自定义模型与扩展功能

LFM2.5-Embedding-350M-8bit开发者指南:自定义模型与扩展功能 【免费下载链接】LFM2.5-Embedding-350M-8bit 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/LFM2.5-Embedding-350M-8bit 想要在Apple Silicon设备上高效运行多语言嵌入模型吗&a…

📅 2026/8/22 11:47:16
h4xx0r vs 普通网站:为什么这个实验性平台敢于暴露用户数据?

h4xx0r vs 普通网站:为什么这个实验性平台敢于暴露用户数据?

h4xx0r vs 普通网站:为什么这个实验性平台敢于暴露用户数据? 【免费下载链接】h4xx0r h4xx0r.org home page 项目地址: https://gitcode.com/gh_mirrors/h4/h4xx0r h4xx0r是一个特殊的实验性平台,它与普通网站截然不同,甚至…

📅 2026/8/25 9:31:37
Inkling-NVFP4-mlx-4bit研究价值分析:为什么这个模型是AI研究的重要里程碑

Inkling-NVFP4-mlx-4bit研究价值分析:为什么这个模型是AI研究的重要里程碑

Inkling-NVFP4-mlx-4bit研究价值分析:为什么这个模型是AI研究的重要里程碑 【免费下载链接】Inkling-NVFP4-mlx-4bit 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/Inkling-NVFP4-mlx-4bit Inkling-NVFP4-mlx-4bit是一个在Apple Silicon上运…

📅 2026/7/25 0:00:34
MORE NEWS

更多资讯

📰

Claude Code终端实战:从安装配置到AI编程工作流再造

过去三个月,我几乎把写代码的主战场从编辑器侧边栏挪到了一个黑乎乎的终端窗口里。不是突然爱上了 Vim,而是装了 Claude Code 之后,我发现自己跟 AI 协作的方式彻底变了——不再是一次次把代码复制粘贴到对话框里问"哪里错了"&…

📰

Altium Designer 13安装与许可证配置:从环境检查到成功启动

简介:AD13(Altium Designer 13)是当前电子设计自动化领域颇为常用的PCB设计与电路仿真工具,本安装包及解锁文件面向电子工程师、硬件设计初学者以及高校相关专业学生,解决官方安装包获取繁琐、授权激活不够便捷的问题&…

📰

编译SQLite报错stdlib.h找不到?环境与工具链排查全攻略

如果你正在编译 SQLite,却碰到fatal error: stdlib.h: No such file or directory,或者 MSVC 下的error C1083: Cannot open include file: stdlib.h,先别急着怀疑源码。这个报错我在 Windows 桌面、命令行、交叉编译环境里都踩过&#xff0c…

📰

arduino-builder:揭开Arduino IDE背后的命令行编译引擎

简介:arduino-builder 是一款面向 Arduino 开发者与嵌入式工具链研究者的命令行编译工具,用于解析 Arduino 草图并自动生成函数原型、收集库路径、为 gcc 提供所需编译参数,从而完成从源码到编译产物的构建流程。该工具已停止独立维护&#x…

📰

HackingTool 运行安装脚本报 “Python 3.10 or newer is required” 怎么排查和解决

HackingTool 运行安装脚本报 “Python 3.10 or newer is required” 怎么排查和解决 【免费下载链接】hackingtool ALL IN ONE Hacking Tool For Hackers 项目地址: https://gitcode.com/GitHub_Trending/ha/hackingtool 在 Linux 上手动安装 HackingTool 时执行 sudo p…

📰

移动端导航五种模式:空间利用与用户体验的成本决策

我第一次重构公司App的导航结构时,差点被一句"把所有功能都放在首页"的需求逼疯。导航从来不是布局问题,它是在屏幕物理空间和用户决策成本之间找平衡。做UI设计这些年,我逐渐把常见的导航模式收敛成五种:底部标签、顶部…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬