news 2026/7/15 9:37:43

CANN/asc-devkit:asc_squeeze_v2废弃函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/asc-devkit:asc_squeeze_v2废弃函数

asc_squeeze_v2 (废弃)

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

产品支持情况

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

功能说明

头文件路径:"c_api/reg_compute/reg_vector.h"

该接口已废弃,请使用asc_squeeze_with_status实现此功能。

将src中被mask选择的有效元素依次复制到dst,有效元素在dst上连续排列。dst中剩余位置元素置为0。

asc_squeeze_v2接口搭配asc_storeunalign_postupdate接口使用时,会将有效数据大小保存至AR寄存器,搬出时使用该值作为存储偏移量。AR寄存器中的数值可以通过asc_get_squeeze_status接口获取。

函数原型

__simd_callee__ inline void asc_squeeze_v2(vector_int8_t& dst, vector_int8_t src, vector_bool mask) __simd_callee__ inline void asc_squeeze_v2(vector_uint8_t& dst, vector_uint8_t src, vector_bool mask) __simd_callee__ inline void asc_squeeze_v2(vector_hifloat8_t& dst, vector_hifloat8_t src, vector_bool mask) __simd_callee__ inline void asc_squeeze_v2(vector_fp8_e5m2_t& dst, vector_fp8_e5m2_t src, vector_bool mask) __simd_callee__ inline void asc_squeeze_v2(vector_fp8_e4m3fn_t& dst, vector_fp8_e4m3fn_t src, vector_bool mask) __simd_callee__ inline void asc_squeeze_v2(vector_fp8_e8m0_t& dst, vector_fp8_e8m0_t src, vector_bool mask) __simd_callee__ inline void asc_squeeze_v2(vector_int16_t& dst, vector_int16_t src, vector_bool mask) __simd_callee__ inline void asc_squeeze_v2(vector_uint16_t& dst, vector_uint16_t src, vector_bool mask) __simd_callee__ inline void asc_squeeze_v2(vector_half& dst, vector_half src, vector_bool mask) __simd_callee__ inline void asc_squeeze_v2(vector_bfloat16_t& dst, vector_bfloat16_t src, vector_bool mask) __simd_callee__ inline void asc_squeeze_v2(vector_int32_t& dst, vector_int32_t src, vector_bool mask) __simd_callee__ inline void asc_squeeze_v2(vector_uint32_t& dst, vector_uint32_t src, vector_bool mask) __simd_callee__ inline void asc_squeeze_v2(vector_float& dst, vector_float src, vector_bool mask)

参数说明

参数名输入/输出描述
dst输出目的操作数(矢量数据寄存器)。
src输入源操作数(矢量数据寄存器)。
mask输入源操作数掩码(掩码寄存器),用于指示在计算过程中哪些元素参与计算。对应位置为1时参与计算,为0时不参与计算。mask未筛选的元素在输出中置零。

矢量数据寄存器和掩码寄存器的详细说明请参见data_type_definition.md。

返回值说明

流水类型

PIPE_V

约束说明

调用示例

vector_int8_t src; vector_bool mask = asc_create_mask_b8(PAT_ALL); asc_loadalign(src, src_addr); // src_addr是外部输入的UB内存空间地址。 vector_int8_t dst; asc_squeeze_v2(dst, src, mask);

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

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

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

TPS7A54高性能LDO设计指南:4A大电流、低噪声与高精度电源方案解析

1. 项目概述:为什么我们需要一颗4A、低噪声、高精度的LDO? 在电源设计的江湖里,LDO(低压差线性稳压器)一直扮演着“净水器”的角色。它的任务不是像开关电源那样高效地转换能量,而是把已经相对“干净”的直…

作者头像 李华
网站建设 2026/7/15 9:34:15

C 语言工业级通用组件 02:通用内存池

前言:承接上一篇环形缓冲区的内容,我们继续手写工业级通用 C 语言组件。在长时间运行的嵌入式系统、后端服务、高性能中间件中,频繁调用 malloc/free 申请释放内存,是引发性能波动、内存碎片、甚至程序崩溃的核心诱因之一。内存池…

作者头像 李华
网站建设 2026/7/15 9:33:46

从补丁到攻击:深入剖析CVE-2022-0543 Redis沙盒逃逸的根源与利用

1. Redis沙盒逃逸漏洞的背景与影响范围 Redis作为一款高性能的键值存储数据库,其内置的Lua脚本引擎为开发者提供了强大的扩展能力。正常情况下,Lua脚本运行在严格限制的沙箱环境中,无法直接访问系统资源。然而在2022年曝光的CVE-2022-0543漏洞…

作者头像 李华
网站建设 2026/7/15 9:33:43

MLX社区Gemma-4-26B-A4B-it-mxfp4路线图:未来功能与社区贡献指南

MLX社区Gemma-4-26B-A4B-it-mxfp4路线图:未来功能与社区贡献指南 【免费下载链接】gemma-4-26b-a4b-it-mxfp4 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/gemma-4-26b-a4b-it-mxfp4 MLX社区Gemma-4-26B-A4B-it-mxfp4是一款基于MLX框架的高…

作者头像 李华
网站建设 2026/7/15 9:32:12

MSP430FR235x引脚配置与低功耗模式实战解析

1. 项目概述与核心价值在嵌入式开发领域,尤其是面向电池供电的物联网节点、便携式医疗设备或智能传感器,我们常常面临两个最基础的挑战:如何高效利用有限的芯片引脚资源,以及如何将系统功耗压榨到极致。TI的MSP430FR235x系列MCU&a…

作者头像 李华
网站建设 2026/7/15 9:29:30

从安装到出图:Latent Couple插件10分钟快速上手教程

从安装到出图:Latent Couple插件10分钟快速上手教程 【免费下载链接】stable-diffusion-webui-two-shot Latent Couple extension (two shot diffusion port) 项目地址: https://gitcode.com/gh_mirrors/st/stable-diffusion-webui-two-shot 想要在Stable Di…

作者头像 李华