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

CANN/asc-devkit浮点到整型转换

asc_float2int32

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

产品支持情况

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

功能说明

将float类型转化为int32_t类型,并支持多种舍入模式。

  • RINT舍入模式:四舍六入五成双舍入

  • ROUND舍入模式:四舍五入舍入

  • FLOOR舍入模式:向负无穷舍入

  • CEIL舍入模式:向正无穷舍入

  • TRUNC舍入模式:向零舍入

  • 非饱和模式:

    • 输入数据超过输出类型最值时,结果被截断为目标格式的数据宽度。
    • 输入数据为+/-inf时,返回输出类型的最值。
    • 输入数据为nan时,返回0。
  • 饱和模式:

    • 输入数据超过输出类型最值时,返回输出类型的对应最值。
    • 输入数据为+/-inf时,返回输出类型的最值。
    • 输入数据为nan时,返回0。

函数原型

// RINT舍入模式,非饱和模式 __simd_callee__ inline void asc_float2int32_rn(vector_int32_t& dst, vector_float src, vector_bool mask) // RINT舍入模式,饱和模式 __simd_callee__ inline void asc_float2int32_rn_sat(vector_int32_t& dst, vector_float src, vector_bool mask) // ROUND舍入模式,非饱和模式 __simd_callee__ inline void asc_float2int32_rna(vector_int32_t& dst, vector_float src, vector_bool mask) // ROUND舍入模式,饱和模式 __simd_callee__ inline void asc_float2int32_rna_sat(vector_int32_t& dst, vector_float src, vector_bool mask) // FLOOR舍入模式,非饱和模式 __simd_callee__ inline void asc_float2int32_rd(vector_int32_t& dst, vector_float src, vector_bool mask) // FLOOR舍入模式,饱和模式 __simd_callee__ inline void asc_float2int32_rd_sat(vector_int32_t& dst, vector_float src, vector_bool mask) // CEIL舍入模式,非饱和模式 __simd_callee__ inline void asc_float2int32_ru(vector_int32_t& dst, vector_float src, vector_bool mask) // CEIL舍入模式,饱和模式 __simd_callee__ inline void asc_float2int32_ru_sat(vector_int32_t& dst, vector_float src, vector_bool mask) // TRUNC舍入模式,非饱和模式 __simd_callee__ inline void asc_float2int32_rz(vector_int32_t& dst, vector_float src, vector_bool mask) // TRUNC舍入模式,饱和模式 __simd_callee__ inline void asc_float2int32_rz_sat(vector_int32_t& dst, vector_float src, vector_bool mask)

参数说明

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

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

返回值说明

流水类型

PIPE_V

约束说明

  • 使能饱和模式和非饱和模式生效时,需配置ctrl寄存器,ctrl寄存器的详细说明请参见asc_set_ctrl.md。

调用示例

vector_float src; vector_int32_t dst; vector_bool mask; asc_float2int32_rn(dst, src, mask);

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

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

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

相关文章:

  • 人才梯队断层、模型迭代滞后、跨职能撕裂——AI团队三大生死症结,SITS2026已开出临床级处方
  • 浅谈Mysql的哈希索引及特点
  • Python+AI
  • 【限时解密】SITS大会未公开议程泄露:下一代缓存协议Cache-LLMv2将于Q3强制接入HuggingFace生态?
  • 《如果你还愿意等》的搜索理由:等待场景怎样被记住
  • 创业公司利用Taotoken多模型能力进行A/B测试以优化产品效果
  • 基于Dify工作流构建游戏客服多智能体协作系统实践
  • CANN/asc-devkit:__ll2float_ru函数
  • AI原生Embedding优化黄金公式(SITS 2026认证级调优框架首次公开)
  • SunEditor自定义插件开发:从零开始构建你的专属功能
  • Windows AI智能体安全沙盒:MachineY Engine四层隔离与部署指南
  • 大语言模型合并实战:用mergekit融合Llama与WizardLM构建全能AI
  • 终极django-htmx性能优化指南:如何减少网络请求并提升用户体验 [特殊字符]
  • CANN/asc-devkit类型转换函数文档
  • 混合量子计算:qumode与qubit协同架构解析
  • CANN Ascend C断言函数API文档
  • SREWorks网关组件详解:构建高可用微服务治理体系 [特殊字符]
  • dnGrep搜索结果分析与报告生成:如何导出和分享搜索数据
  • retrying部署指南:在不同Python版本和环境中的兼容性终极教程
  • ARM Cortex-R7低功耗架构设计与动态RAM保留技术
  • 告别虚拟机!Win10+Ubuntu 18.04双系统保姆级安装指南(含BIOS设置与分区避坑)
  • Godot 3 Demos保存系统实战:游戏数据持久化与配置管理终极指南
  • Docker Compose多项目管理利器:compose-skill配置与实战指南
  • CANN/ge ACL设置张量常量
  • ClosureTree 在企业级应用中的最佳实践:高效构建 ActiveRecord 层级模型
  • 独立开发者如何用AI验证创业点子:15分钟完成市场分析与风险评估
  • 电力线通信(PLC)技术原理与应用解析
  • ARM GICv3中断控制器与ICC_BPR1寄存器详解
  • Ciao TLS证书监控:如何避免SSL证书过期导致的服务中断
  • AI系统不再“幻觉即上线”:SITS 2026定义的10大可观测性设计模式,含实时语义漂移熔断机制