当前位置: 首页 > news >正文

CANN/asc-devkit SIMD对齐数据搬运接口

asc_loadalign_brc_datablock_postupdate

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

产品支持情况

产品是否支持
Ascend 950PR/Ascend 950DT

功能说明

对齐数据搬运接口,从UB连续对齐搬入目的操作数,实现DataBlock广播搬入模式并启用Post Update:读取一个DataBlock(32B)并广播到VL,接口调用后自动更新源操作数地址。

函数原型

__simd_callee__ inline void asc_loadalign_brc_datablock_postupdate(vector_int8_t& dst, __ubuf__ int8_t*& src, int32_t offset) __simd_callee__ inline void asc_loadalign_brc_datablock_postupdate(vector_uint8_t& dst, __ubuf__ uint8_t*& src, int32_t offset) __simd_callee__ inline void asc_loadalign_brc_datablock_postupdate(vector_fp4x2_e2m1_t& dst, __ubuf__ fp4x2_e2m1_t*& src, int32_t offset) __simd_callee__ inline void asc_loadalign_brc_datablock_postupdate(vector_fp4x2_e1m2_t& dst, __ubuf__ fp4x2_e1m2_t*& src, int32_t offset) __simd_callee__ inline void asc_loadalign_brc_datablock_postupdate(vector_fp8_e8m0_t& dst, __ubuf__ fp8_e8m0_t*& src, int32_t offset) __simd_callee__ inline void asc_loadalign_brc_datablock_postupdate(vector_int4x2_t& dst, __ubuf__ int4b_t*& src, int32_t offset) __simd_callee__ inline void asc_loadalign_brc_datablock_postupdate(vector_fp8_e5m2_t& dst, __ubuf__ fp8_e5m2_t*& src, int32_t offset) __simd_callee__ inline void asc_loadalign_brc_datablock_postupdate(vector_fp8_e4m3fn_t& dst, __ubuf__ fp8_e4m3fn_t*& src, int32_t offset) __simd_callee__ inline void asc_loadalign_brc_datablock_postupdate(vector_hifloat8_t& dst, __ubuf__ hifloat8_t*& src, int32_t offset) __simd_callee__ inline void asc_loadalign_brc_datablock_postupdate(vector_int16_t& dst, __ubuf__ int16_t*& src, int32_t offset) __simd_callee__ inline void asc_loadalign_brc_datablock_postupdate(vector_uint16_t& dst, __ubuf__ uint16_t*& src, int32_t offset) __simd_callee__ inline void asc_loadalign_brc_datablock_postupdate(vector_half& dst, __ubuf__ half*& src, int32_t offset) __simd_callee__ inline void asc_loadalign_brc_datablock_postupdate(vector_bfloat16_t& dst, __ubuf__ bfloat16_t*& src, int32_t offset) __simd_callee__ inline void asc_loadalign_brc_datablock_postupdate(vector_int32_t& dst, __ubuf__ int32_t*& src, int32_t offset) __simd_callee__ inline void asc_loadalign_brc_datablock_postupdate(vector_uint32_t& dst, __ubuf__ uint32_t*& src, int32_t offset) __simd_callee__ inline void asc_loadalign_brc_datablock_postupdate(vector_float& dst, __ubuf__ float*& src, int32_t offset)

参数说明

参数名输入/输出描述
dst输出目的操作数(矢量数据寄存器)。
src输入/输出源操作数(矢量)的起始地址,接口调用后自动更新。
offset输入偏移量。

矢量数据寄存器的详细说明请参见reg数据类型定义.md。

返回值说明

流水类型

PIPE_V

约束说明

调用示例

vector_half dst; __ubuf__ half* src; asc_loadalign_brc_datablock_postupdate(dst, src, 0);

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1120257/

相关文章:

  • CMS容器编排工具:Instatic与Docker Swarm配置
  • 2023终极指南:GhostDB分布式键值存储系统快速上手指南
  • 西工大软院大二软件工程案例分析:nwpu-cram复习资料全攻略
  • Ovine CLI命令完全手册:提升开发效率的10个必备技巧
  • CANN PID窗口化残差诊断算子API参考
  • 从details-dialog-element学到的经验:GitHub开源组件开发最佳实践
  • CVPR 2023最佳论文VisProg:革命性视觉编程框架,零训练实现复杂视觉推理
  • 【Springboot毕设全套源码+文档】基于springboot植物养护系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • SENet-Tensorflow代码实现详解:从SE模块到完整网络架构
  • CANN/hccl 测试指南
  • ofa.js 企业级应用架构:微前端实战案例分享
  • 高速PCB设计中AC耦合电容布局与串扰解决方案
  • Spirit Web Player核心功能解析:让你的网页动画更流畅的终极工具
  • Obsidian-zola性能优化:10个技巧让你的知识网站加载更快
  • 密码同步 - 青龙面板自动签到脚本
  • Optimus与Airflow集成教程:构建企业级数据调度系统的终极方案
  • 芯片失效分析技术:从原理到实践
  • GPT-5 不存在?揭穿AI模型代际炒作真相
  • Leela Chess Zero核心技术揭秘:神经网络如何让AI从零学会下象棋
  • Context开发指南:为MCP协议贡献自定义功能的完整教程
  • CANN/mat-chem-sim-pred SOPDT基准测试报告
  • 如何快速上手jqjq:5个简单步骤掌握自解释JSON处理器
  • Leela Chess Zero分布式训练架构:揭秘lczero.org背后的协同计算
  • Open Battery Information:开源硬件逆向工程工具,解锁BMS锁定电池修复新方案
  • Reacord API完全参考:从基础到高级功能的详细文档
  • Gradle Docker插件与微服务架构:多模块项目的最佳实践指南
  • 如何为details-dialog-element编写自定义样式:CSS定制完全教程
  • CANN/ge Shape类API文档
  • Elm-platform安全指南:确保Elm应用安全性的最佳实践
  • Statsig Status Page故障排查:常见问题与解决方案