尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
昇腾C GM与UB数据搬运
GM与UB数据搬运【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit总体说明Global MemoryGM与Unified BufferUB之间的数据搬运提供了多样化的接口支持丰富的数据搬运场景见表1。为实现高效的向量Vector计算系统支持将数据从GM搬运至UB供Vector计算单元进行向量计算计算完成后再将结果从UB搬回GM完成数据闭环。开发者能够通过灵活配置结构体参数精确控制数据块数量、每个地址长度及地址间隔等关键属性实现连续和非连续数据搬运高维切分数据搬运充分释放硬件的数据搬运与计算协同能力显著提升向量算子的执行效率与整体性能。表 1GM与UB数据搬运接口概述数据通路功能描述GM-UB连续数据搬运(DataCopy)提供基础的数据搬运能力数据在传输过程中保持原始格式和内容不变支持连续数据搬运。UB-GM连续数据搬运(DataCopy)提供基础的数据搬运能力数据在传输过程中保持原始格式和内容不变支持连续数据搬运。GM-UB高维切分数据搬运(DataCopy)提供基础的数据搬运能力数据在传输过程中保持原始格式和内容不变支持连续和非连续的数据搬运。UB-GM高维切分数据搬运(DataCopy)提供基础的数据搬运能力数据在传输过程中保持原始格式和内容不变支持连续和非连续的数据搬运。GM-UB切片数据搬运(DataCopy)该接口为软仿接口支持数据的切片搬运提取多维Tensor数据的子集进行搬运。UB-GM切片数据搬运(DataCopy)该接口为软仿接口支持数据的切片搬运提取多维Tensor数据的子集进行搬运。GM-UB随路转换ND2NZ搬运(DataCopy)该接口为软仿接口支持在从Global Memory到Unified Buffer的数据搬运过程中进行ND到NZ格式的转换。UB-GM随路转换NZ2ND搬运(DataCopy)该接口为软仿接口支持在从Unified Buffer到Global Memory的数据搬运过程中进行NZ到ND格式的转换。GM-UB多维数据搬运NDDMA(DataCopy)多维数据搬运接口相比于基础数据搬运接口可更加自由配置搬入的维度信息以及对应的Stride。GM-UB非对齐数据搬运(DataCopyPad)支持数据的非对齐搬运搬运到UB时可以自行填充数据。UB-GM非对齐数据搬运(DataCopyPad)支持数据的非对齐搬运。GM与UB连续数据搬运(DataCopy)支持Global Memory与Unified Buffer之间的连续数据搬运数据在传输过程中保持原始格式和内容不变。具体支持的数据通路为以逻辑位置TPosition表示Global Memory - Unified BufferGM - VECINUnified Buffer - Global MemoryVECOUT - GMCO2 - GM仅Atlas 推理系列产品AI Core支持搬运的数据用于矢量计算具体的接口请参考GM与UB连续数据搬运(DataCopy).md)。src和dst分别为源操作数和目的操作数count为连续搬运的元素个数。Global Memory - Unified Buffertemplate typename T __aicore__ inline void DataCopy(const LocalTensorT dst, const GlobalTensorT src, const uint32_t count)Unified Buffer - Global Memorytemplate typename T __aicore__ inline void DataCopy(const GlobalTensorT dst, const LocalTensorT src, const uint32_t count)GM与UB高维切分数据搬运(DataCopy)支持Global Memory与Unified Buffer之间的高维切分数据搬运数据在传输过程中保持原始格式和内容不变。高维切分数据搬运可通过配置数据块个数、单个数据块长度、地址偏移等搬运参数同时支持非连续和连续的数据搬运。具体支持的数据通路为以逻辑位置TPosition表示Global Memory - Unified BufferGM - VECINUnified Buffer - Global MemoryVECOUT - GMCO2 - GM仅Atlas 推理系列产品AI Core支持搬运的数据用于矢量计算具体的接口请参考GM与UB高维切分数据搬运(DataCopy).md)。src和dst分别为源操作数和目的操作数repeatParams为DataCopyParams类型的搬运参数通过该参数可配置搬运的数据块大小、个数、间隔等信息同时支持非连续和连续搬运。Global Memory - Unified Buffertemplate typename T __aicore__ inline void DataCopy(const LocalTensorT dst, const GlobalTensorT src, const DataCopyParams repeatParams)Unified Buffer - Global Memorytemplate typename T __aicore__ inline void DataCopy(const GlobalTensorT dst, const LocalTensorT src, const DataCopyParams repeatParams)GM与UB切片数据搬运(DataCopy)该接口为软仿接口从易用性角度出发进行设计支持数据的切片搬运提取多维Tensor数据的子集进行搬运。具体支持的数据通路为以逻辑位置TPosition表示Global Memory - Unified BufferGM - VECINUnified Buffer - Global MemoryVECOUT - GMCO2 - GM仅Atlas 推理系列产品AI Core支持搬运的数据用于矢量计算具体的接口请参考GM与UB切片数据搬运(DataCopy).md)。src和dst分别为源操作数和目的操作数dstSliceInfo和srcSliceInfo分别为目的和源操作数的切片信息类型为SliceInfodimValue为操作数维度信息。Global Memory - Unified Buffertemplate typename T __aicore__ inline void DataCopy(const LocalTensorT dst, const GlobalTensorT src, const SliceInfo dstSliceInfo[], const SliceInfo srcSliceInfo[], const uint32_t dimValue 1)Unified Buffer - Global Memorytemplate typename T __aicore__ inline void DataCopy(const GlobalTensorT dst, const LocalTensorT src, const SliceInfo dstSliceInfo[], const SliceInfo srcSliceInfo[], const uint32_t dimValue 1)GM - UB随路转换ND2NZ搬运(DataCopy)该接口为软仿接口从易用性角度出发进行设计支持在从Global Memory到Unified Buffer的数据搬运过程中进行ND到NZ格式的转换。具体支持的数据通路为以逻辑位置TPosition表示Global Memory - Unified BufferGM - VECIN搬运的数据用于矢量计算具体的接口请参考GM - UB随路转换ND2NZ搬运(DataCopy).md)。src和dst分别为源操作数和目的操作数intriParams为Nd2NzParams类型的搬运参数配置ND到NZ格式转换信息。不支持enableSmallC0模式template typename T __aicore__ inline void DataCopy(const LocalTensorT dst, const GlobalTensorT src, const Nd2NzParams intriParams)支持enableSmallC0模式仅Ascend 950PR/Ascend 950DT支持template typename T, bool enableSmallC0 false __aicore__ inline void DataCopy(const LocalTensorT dst, const GlobalTensorT src, const Nd2NzParams intriParams)UB - GM随路转换NZ2ND搬运(DataCopy)该接口为软仿接口从易用性角度出发进行设计支持在从Unified Buffer到Global Memory的数据搬运过程中进行NZ到ND格式的转换。具体支持的数据通路为以逻辑位置TPosition表示Unified Buffer - Global MemoryVECOUT - GMCO2 - GM仅Atlas 推理系列产品AI Core支持搬运的数据用于矢量计算具体的接口请参考UB-GM随路转换NZ2ND搬运(DataCopy).md)。src和dst分别为源操作数和目的操作数intriParams为Nz2NdParamsFull类型的搬运参数配置NZ到ND格式转换信息。template typename T __aicore__ inline void DataCopy(const GlobalTensorT dst, const LocalTensorT src, const Nz2NdParamsFull intriParams)GM - UB多维数据搬运NDDMA(DataCopy)多维数据搬运接口相比于基础数据搬运接口可更加自由配置搬入的维度信息以及对应的Stride。具体支持的数据通路为以逻辑位置TPosition表示Global Memory - Unified BufferGM - VECIN搬运的数据用于矢量计算具体的接口请参考GM - UB多维数据搬运NDDMA(DataCopy).md)。src和dst分别为源操作数和目的操作数params为NdDmaParams类型的搬运参数配置多维度搬运信息。Global Memory - Unified Buffer支持多维度搬运template typename T, uint8_t dim, const NdDmaConfig config kDefaultNdDmaConfig __aicore__ inline void DataCopy(const LocalTensorT dst, const GlobalTensorT src, const NdDmaParamsT, dim params)NDDMA Cache刷新__aicore__ inline void NdDmaDci()GM - UB非对齐数据搬运(DataCopyPad)该接口提供将数据从Global Memory非对齐搬运至Unified Buffer的功能可以根据开发者的需要自行填充数据。当每个搬运的数据块长度blockLen非32字节对齐时每一个数据块都需要填充数据至32字节对齐。特别地针对Ascend 950PR/Ascend 950DT支持Compact模式该模式支持单个数据块非32字节对齐将所有数据块合并成一个连续数据块在该数据块右侧填充数据至32字节对齐。具体支持的数据通路为以逻辑位置TPosition表示Global Memory - Unified BufferGM - VECINGM - VECOUTGM - VECCALC仅Ascend 950PR/Ascend 950DT支持搬运的数据用于矢量计算具体的接口请参考GM - UB非对齐数据搬运(DataCopyPad).md)。src和dst分别为源操作数和目的操作数dataCopyParams为DataCopyExtParams类型的搬运参数padParams为DataCopyPadExtParams类型的填充控制参数。不支持配置设置数据搬运模式modetemplate typename T __aicore__ inline void DataCopyPad(const LocalTensorT dst, const GlobalTensorT src, const DataCopyExtParams dataCopyParams, const DataCopyPadExtParamsT padParams)支持配置设置数据搬运模式mode仅Ascend 950PR/Ascend 950DT支持template typename T, PaddingMode mode PaddingMode::Normal __aicore__ inline void DataCopyPad(const LocalTensorT dst, const GlobalTensorT src, const DataCopyExtParams dataCopyParams, const DataCopyPadExtParamsT padParams)UB - GM非对齐数据搬运(DataCopyPad)该接口提供将数据从Unified Buffer非对齐搬运至Global Memory的功能。对于非32字节对齐的场景在读取Unified Buffer数据时会填入dummy假数据对齐到32B搬入Global Memory时会将dummy空数据丢弃从而实现Unified Buffer到Global Memory的非对齐搬运。具体支持的数据通路为以逻辑位置TPosition表示Unified Buffer - Global MemoryVECIN - GMVECOUT - GM搬运的数据用于矢量计算具体的接口请参考UB - GM非对齐数据搬运(DataCopyPad).md)。src和dst分别为源操作数和目的操作数dataCopyParams为DataCopyExtParams类型的搬运参数。不支持配置设置数据搬运模式modetemplate typename T __aicore__ inline void DataCopyPad(const GlobalTensorT dst, const LocalTensorT src, const DataCopyExtParams dataCopyParams)支持配置设置数据搬运模式mode仅Ascend 950PR/Ascend 950DT支持template typename T, PaddingMode mode PaddingMode::Normal __aicore__ inline void DataCopyPad(const GlobalTensorT dst, const LocalTensorT src, const DataCopyExtParams dataCopyParams)【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

3分钟快速上手DiskSpd:微软官方存储性能测试终极指南

3分钟快速上手DiskSpd:微软官方存储性能测试终极指南

3分钟快速上手DiskSpd:微软官方存储性能测试终极指南 【免费下载链接】diskspd DISKSPD is a storage load generator / performance test tool from the Windows/Windows Server and Cloud Server Infrastructure Engineering teams 项目地址: https://gitcode.c…

📅 2026/11/3 23:45:29
Java 转大模型开发:从真实需求重新拆一遍

Java 转大模型开发:从真实需求重新拆一遍

聊《我用Java经验做了次 AI 项目,最先失效的是旧方法》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。摘要先把这篇文章的目标说清楚:看完之后,你应该能判断这件事值不值得做&…

📅 2026/10/7 10:48:32
单片机通信协议全解析:UART、I2C、SPI、CAN原理与工程实践

单片机通信协议全解析:UART、I2C、SPI、CAN原理与工程实践

在实际单片机项目开发中,通信协议的选择和实现往往是决定项目成败的关键因素。很多初学者能够点亮LED、读取按键,但一到需要多个模块协同工作或与上位机交互时,就会遇到数据丢失、时序错乱、协议解析失败等问题。这些问题背后,是对…

📅 2026/10/12 2:02:47
MORE NEWS

更多资讯

📰

PostgreSQL查询阻塞诊断与优化实战指南

1. PostgreSQL查询阻塞问题概述在PostgreSQL数据库运维过程中,查询阻塞是最常见的性能瓶颈之一。当某个会话持有资源(如表锁、行锁)而另一个会话需要访问相同资源时,就会发生查询阻塞现象。这种情况在高并发业务场景中尤为常见&am…

📰

运维转行云原生工程师:技能迁移与学习路线

1. 运维转行背景与痛点分析从事Linux运维工作三年后,我最终选择了裸辞转行。这不是一时冲动,而是经过长期思考后的决定。作为过来人,我深知运维岗位的酸甜苦辣。下面我将详细剖析促使我做出这个决定的关键因素,相信很多同行都能从…

📰

MySQL数据库表约束设计实战与优化技巧

1. MySQL表约束的核心价值与应用场景数据库表约束是确保数据质量和业务规则完整性的关键机制。作为从业15年的数据库架构师,我见过太多因约束设计不当导致的数据灾难——从简单的用户注册重复到严重的财务数据不一致。约束本质上是对数据行为的预定义规则&#xff0…

📰

Prometheus告警规则模板库:从零搭建到生产调优实战

1. 为什么我坚持维护一套自己的告警规则模板库做运维和SRE这些年,我经手过的监控系统少说也有十几套了。每次新环境搭建、每次迁移、每次接手别人的集群,最耗时间的事情往往不是装Prometheus、不是配Grafana,而是告警规则到底该怎么写。装软件…

📰

M-PHY v5.0勘误解读:高速串行接口眼图与抖动测试定义

简介:MIPI M-PHY Specification v5.0 配套 PDF 面向移动端高速串行接口设计、验证与测试工程师,聚焦低引脚数、高带宽与优秀能效的物理层规范学习。压缩包仅含 1 个 PDF 文件,大小约 2.81MB,内容为 2022 年发布的 Errata 01 修订版…

📰

国内高效使用Claude Code AI编程助手的实践指南

1. 项目概述最近在开发者社区看到不少同行在讨论如何在国内环境下高效使用Claude Code这个AI编程助手。作为一个长期关注AI辅助编程工具的技术博主,我花了三周时间深入测试了Claude Code在国内网络环境下的完整使用方案。本文将分享从注册到实际编码的全套解决方案&…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

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

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

📞 💬