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

CANN/asc-devkit非对齐加载预初始化接口

asc_loadunalign_pre

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

产品支持情况

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

功能说明

用于在进行非对齐数据搬入前的初始化,需配合asc_loadunalign接口使用。

  • asc_loadunalign_pre(不带iter_reg入参):配合asc_loadunalign(不带iter_reg入参)接口使用。

  • asc_loadunalign_pre(带iter_reg入参):配合asc_loadunalign(带iter_reg入参)接口使用。

函数原型

// 不带iter_reg入参 __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ int8_t* src) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ uint8_t* src) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ fp4x2_e2m1_t* src) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ fp4x2_e1m2_t* src) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ fp8_e8m0_t* src) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ fp8_e5m2_t* src) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ fp8_e4m3fn_t* src) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ hifloat8_t* src) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ int16_t* src) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ uint16_t* src) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ half* src) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ bfloat16_t* src) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ int32_t* src) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ uint32_t* src) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ float* src) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ int64_t* src) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ int4b_t* src) // 带iter_reg入参 __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ int8_t* src, iter_reg offset) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ uint8_t* src, iter_reg offset) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ fp4x2_e2m1_t* src, iter_reg offset) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ fp4x2_e1m2_t* src, iter_reg offset) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ fp8_e8m0_t* src, iter_reg offset) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ fp8_e5m2_t* src, iter_reg offset) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ fp8_e4m3fn_t* src, iter_reg offset) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ hifloat8_t* src, iter_reg offset) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ int16_t* src, iter_reg offset) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ uint16_t* src, iter_reg offset) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ half* src, iter_reg offset) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ bfloat16_t* src, iter_reg offset) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ int32_t* src, iter_reg offset) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ uint32_t* src, iter_reg offset) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ float* src, iter_reg offset) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ int64_t* src, iter_reg offset) __simd_callee__ inline void asc_loadunalign_pre(vector_load_unalign& dst, __ubuf__ int4b_t* src, iter_reg offset)

参数说明

参数名输入/输出描述
dst输出非对齐寄存器,用于保存非对齐数据,长度32B。
src输入源操作数(矢量)的起始地址。
offset输入地址寄存器,存储地址偏移量。

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

返回值说明

流水类型

PIPE_V

约束说明

调用示例

vector_load_unalign dst; __ubuf__ int8_t* src; asc_loadunalign_pre(dst, src);

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

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

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

相关文章:

  • 本溪黄金回收避坑指南:金价高位变现,这5家正规门店值得跑一趟 - 行行星
  • AI写作辅助网站8款AI写作辅助平台排行榜,毕业季救星!
  • 从网页到电子书:novel-downloader小说下载器深度技术解析
  • 如何快速上手vismatch/xfeat:面向初学者的完整指南
  • 2026年瑜伽加盟优质品牌选型攻略 适配各类轻资产创业需求 - 品研笔录
  • 终极TrollApps指南:重新定义iOS应用自由的开源革命
  • AI Agent轨迹评估:从结果正确到过程可靠的关键工程实践
  • B站CC字幕一键下载转换终极指南:3分钟搞定视频字幕提取
  • DeeplxFile开发者指南:如何从源码构建和自定义翻译工具
  • Flashtool终极指南:快速掌握Xperia设备刷机完整流程
  • SpringCloud微服务项目中自定义异常处理器失效
  • OpenCore Legacy Patcher终极指南:四步让老旧Mac重获新生
  • 晚安,阀门人——2025年阀门行业的发展窗口和战略变量
  • 三星固件下载解密神器:Bifrost全平台使用指南
  • 别再被‘绿色’吓到!深入Altium Designer电气规则与4层板叠层设计实战
  • 2026年南通黄金回收白银回收铂金回收金条回收高口碑 5 家线下门店实地测评整理 - 信誉隆金银铂奢回收
  • 深度解析scorecardpy:Python信用评分卡开发的架构设计与实战指南
  • 3分钟快速汉化Axure RP:告别英文困扰,提升70%工作效率的完整指南
  • Cursor Free VIP:解锁AI编程助手完整功能的全能解决方案
  • 深度梳理Java面试常问知识点!
  • 别再被经验误导,电阻阻值并非越大越安全
  • 基于SpringBoot2+vue2的人力资源管理系统
  • Cursor Pro功能解锁:技术揭秘与实践路径
  • 深入分析 AutoGPT 架构:如何在复杂 Agent 系统中实现高效控制流
  • Qt5.15到Qt6:手把手教你用C++打造一个带文件状态管理的文本编辑器(附完整源码)
  • ControlNet 与 Midjourney 插画:线稿到 UI 设计稿的精准控制流程
  • 10分钟掌握CNEnvAir环境空气质量数据读取:Python实用代码示例
  • Path of Building PoE2终极指南:从新手到构建大师的完整蜕变
  • 减肥糕点推荐:为什么越来越多人选择杨先生糕点? - 玖叁鹿
  • linux通过nvm安装node