CANN/asc-devkit UB数据搬运指南

发布时间:2026/9/26 0:02:53

CANN/asc-devkit UB数据搬运指南
UB与UB数据搬运【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit总体说明Unified BufferUB之间的数据搬运提供了灵活的接口支持共有两组接口DataCopy提供了基础的数据搬运能力支持连续和非连续数据搬运Copy除了支持连续和非连续数据搬运还提供了mask操作和DataBlock间隔操作的能力支持在接口内部和接口外部设置mask。具体接口功能如下表所示。表 1UB与UB数据搬运接口概述数据通路功能描述UB-UB连续数据搬运(DataCopy)提供基础的数据搬运能力数据在传输过程中保持原始格式和内容不变支持连续数据搬运。UB-UB高维切分数据搬运(DataCopy)提供基础的数据搬运能力数据在传输过程中保持原始格式和内容不变支持连续和非连续的数据搬运。UB-UB连续数据搬运(Copy)支持连续数据搬运数据搬运时格式和内容保持不变。UB-UB掩码式高维数据搬运(Copy)支持mask操作和DataBlock间隔操作支持在接口内部和接口外部设置mask。UB - UB连续数据搬运(DataCopy)支持Unified Buffer与Unified Buffer之间的连续数据搬运数据在传输过程中保持原始格式和内容不变。具体支持的数据通路为以逻辑位置TPosition表示Unified Buffer - Unified BufferVECIN - VECCALCVECCALC - VECOUT搬运的数据用于矢量计算具体的接口请参考UB - UB连续数据搬运(DataCopy).md)。src和dst分别为源操作数和目的操作数count为连续搬运的元素个数。template typename T __aicore__ inline void DataCopy(const LocalTensorT dst, const LocalTensorT src, const uint32_t count)UB - UB高维切分数据搬运(DataCopy)支持Unified Buffer与Unified Buffer之间的高维切分数据搬运数据在传输过程中保持原始格式和内容不变。高维切分数据搬运可通过配置数据块个数、单个数据块长度、地址偏移等搬运参数同时支持非连续和连续的数据搬运。具体支持的数据通路为以逻辑位置TPosition表示Unified Buffer - Unified BufferVECIN - VECCALCVECCALC - VECOUT搬运的数据用于矢量计算具体的接口请参考UB - UB高维切分数据搬运(DataCopy).md)。src和dst分别为源操作数和目的操作数repeatParams为DataCopyParams类型的搬运参数通过该参数可配置搬运的数据块大小、个数、间隔等信息同时支持非连续和连续搬运。template typename T __aicore__ inline void DataCopy(const LocalTensorT dst, const LocalTensorT src, const DataCopyParams repeatParams)UB - UB连续数据搬运(Copy)支持Unified Buffer和Unified Buffer之间的连续数据搬运数据搬运时格式和内容保持不变。具体支持的数据通路为以逻辑位置TPosition表示Unified Buffer - Unified BufferVECIN - VECCALCVECIN - VECOUTVECCALC - VECINVECCALC - VECOUTVECOUT - VECINVECOUT - VECCALC搬运的数据用于矢量计算具体的接口请参考UB - UB连续数据搬运(Copy).md)。src和dst分别为源操作数和目的操作数count为连续搬运的元素个数。template typename T, bool isSetMask true __aicore__ inline void Copy(const LocalTensorT dst, const LocalTensorT src, const uint32_t count)UB - UB掩码式高维数据搬运(Copy)支持Unified Buffer和Unified Buffer之间的数据搬运数据搬运时格式和内容保持不变支持mask操作和DataBlock间隔操作。具体支持的数据通路为以逻辑位置TPosition表示Unified Buffer - Unified BufferVECIN - VECCALCVECIN - VECOUTVECCALC - VECINVECCALC - VECOUTVECOUT - VECINVECOUT - VECCALC搬运的数据用于矢量计算具体的接口请参考UB - UB掩码式高维数据搬运(Copy).md)。src和dst分别为源操作数和目的操作数mask用于控制每次迭代内参与计算的元素repeatTime为重复迭代次数repeatParams为CopyRepeatParams类型的搬运参数。mask逐bit模式template typename T, bool isSetMask true __aicore__ inline void Copy(const LocalTensorT dst, const LocalTensorT src, const uint64_t mask[], const uint8_t repeatTime, const CopyRepeatParams repeatParams)mask连续模式template typename T, bool isSetMask true __aicore__ inline void Copy(const LocalTensorT dst, const LocalTensorT src, const uint64_t mask, const uint8_t repeatTime, const CopyRepeatParams repeatParams)【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

5分钟快速入门:使用Understat免费获取专业足球统计数据

5分钟快速入门:使用Understat免费获取专业足球统计数据

2026/9/7 5:40:35

5分钟快速入门:使用Understat免费获取专业足球统计数据 【免费下载链接】understat An asynchronous Python package for https://understat.com/. 项目地址: https://gitcode.com/gh_mirrors/un/understat 你是否曾梦想拥有顶级足球俱乐部的数据分析能力&am…

为什么选择openEuler SBOM-website:5大核心功能解析软件供应链安全

为什么选择openEuler SBOM-website:5大核心功能解析软件供应链安全

2026/8/30 4:34:47

为什么选择openEuler SBOM-website:5大核心功能解析软件供应链安全 【免费下载链接】sbom-website A frontend service named sbom-website, designed for showing sbom secure supply chain governance process. 项目地址: https://gitcode.com/openeuler/sbom-w…

website-v2博客系统使用教程:3步轻松发布你的技术文章

website-v2博客系统使用教程:3步轻松发布你的技术文章

2026/9/10 1:37:30

website-v2博客系统使用教程:3步轻松发布你的技术文章 【免费下载链接】website-v2 仓库关闭的原因:https://gitee.com/openeuler/community/pulls/4124 项目地址: https://gitcode.com/openeuler/website-v2 前往项目官网免费下载:ht…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/25 10:06:33

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/25 9:40:47

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/25 10:06:21

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/25 9:53:52

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/25 8:58:17

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/25 10:00:17

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…

远程协作的工作台整理

远程协作的工作台整理

2026/9/24 16:02:49

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/25 9:41:47

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/25 4:22:14

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…