news 2026/5/11 8:11:08

CANN/asc-devkit L0B内存初始化函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/asc-devkit L0B内存初始化函数

asc_fill_l0b

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

产品支持情况

产品是否支持
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品

功能说明

将L0B Buffer的Local Memory初始化为某一具体数值。

函数原型

  • 常规计算

    __aicore__ inline void asc_fill_l0b(__cb__ int16_t* dst, half value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b(__cb__ int16_t* dst, uint32_t value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b(__cb__ uint16_t* dst, half value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b(__cb__ uint16_t* dst, uint32_t value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b(__cb__ half* dst, half value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b(__cb__ half* dst, uint32_t value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b(__cb__ bfloat16_t* dst, bfloat16_t value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b(__cb__ bfloat16_t* dst, half value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b(__cb__ bfloat16_t* dst, uint32_t value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b(__cb__ int32_t* dst, half value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b(__cb__ int32_t* dst, uint32_t value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b(__cb__ uint32_t* dst, half value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b(__cb__ uint32_t* dst, uint32_t value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b(__cb__ float* dst, half value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b(__cb__ float* dst, uint32_t value, const asc_fill_value_config& config)
  • 同步计算

    __aicore__ inline void asc_fill_l0b_sync(__cb__ int16_t* dst, half value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b_sync(__cb__ int16_t* dst, uint32_t value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b_sync(__cb__ uint16_t* dst, half value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b_sync(__cb__ uint16_t* dst, uint32_t value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b_sync(__cb__ half* dst, half value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b_sync(__cb__ half* dst, uint32_t value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b_sync(__cb__ bfloat16_t* dst, bfloat16_t value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b_sync(__cb__ bfloat16_t* dst, half value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b_sync(__cb__ bfloat16_t* dst, uint32_t value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b_sync(__cb__ int32_t* dst, half value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b_sync(__cb__ int32_t* dst, uint32_t value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b_sync(__cb__ uint32_t* dst, half value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b_sync(__cb__ uint32_t* dst, uint32_t value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b_sync(__cb__ float* dst, half value, const asc_fill_value_config& config) __aicore__ inline void asc_fill_l0b_sync(__cb__ float* dst, uint32_t value, const asc_fill_value_config& config)

参数说明

参数名输入/输出描述
dst输出目的操作数(矢量)的起始地址。
value输入源操作数(标量)。
config输入使用的初始化相关参数,详细说明请参考asc_fill_value_config。

返回值说明

流水类型

PIPE_MTE1

约束说明

  • dst的起始地址需要32字节对齐。
  • 操作数地址重叠约束请参考通用地址重叠约束。

调用示例

constexpr uint64_t total_length = 128; // total_length指参与搬运的数据总长度 half value = 1; __cb__ half dst[total_length]; asc_fill_value_config config; // 使用默认配置 asc_fill_l0b(dst, value, config); // 将dst中的元素按照config配置初始化为1

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 8:05:37

技术深度解析:RePKG逆向工程与格式解析实现原理

技术深度解析:RePKG逆向工程与格式解析实现原理 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg RePKG是一款专门针对Wallpaper Engine PKG资源包和TEX纹理格式进行逆向工…

作者头像 李华
网站建设 2026/5/11 8:05:36

CANN/asc-devkit SIMT API转换函数

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

作者头像 李华
网站建设 2026/5/11 8:05:00

从60帧到144帧:游戏帧率解锁工具的完整使用指南

从60帧到144帧:游戏帧率解锁工具的完整使用指南 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 你是否曾因游戏60帧的限制而感到画面不够流畅?想要在高刷新率显示…

作者头像 李华
网站建设 2026/5/11 8:03:40

AI代码生成质量评估2026:如何科学衡量Copilot类工具的真实价值

你的团队用了AI编码助手,但你真的知道它带来了多少价值吗?本文提供一套可落地的AI代码生成质量评估框架,从代码正确性到开发者体验,帮你用数据说话。一、为什么需要系统化评估"用了Copilot感觉快了不少"——这是最常见的…

作者头像 李华
网站建设 2026/5/11 8:03:40

CANN/GE从文件加载模型API

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

作者头像 李华