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

CANN/asc-devkit SIMT浮点转半精度函数

__float2half_rz

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

产品支持情况

  • Ascend 950PR/Ascend 950DT:支持
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:不支持
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:不支持
  • Atlas 200I/500 A2 推理产品:不支持
  • Atlas 推理系列产品AI Core:不支持
  • Atlas 推理系列产品Vector Core:不支持
  • Atlas 训练系列产品:不支持

功能说明

遵循CAST_TRUNC模式,将浮点数转换为半精度浮点数,返回转换后的值。

函数原型

inline half __float2half_rz(const float x)

参数说明

表1参数说明

参数名输入/输出描述
x输入源操作数。

返回值说明

输入遵循CAST_TRUNC模式转换成的半精度浮点数。本接口受全局饱和寄存器的影响,特殊值如下:

x值非饱和模式返回值饱和模式返回值
000
-0-0-0
nannan0
infinfASCRT_MAX_NORMAL_FP16
-inf-inf-ASCRT_MAX_NORMAL_FP16
x>ASCRT_MAX_NORMAL_FP16infASCRT_MAX_NORMAL_FP16
x<-ASCRT_MAX_NORMAL_FP16-inf-ASCRT_MAX_NORMAL_FP16

约束说明

需要包含的头文件

使用该接口需要包含"simt_api/asc_fp16.h"头文件。

#include "simt_api/asc_fp16.h"

调用示例

  • SIMT编程场景:

    __global__ __launch_bounds__(1024) void kernel__float2half_rz(half* dst, float* x) { int idx = threadIdx.x + blockIdx.x * blockDim.x; dst[idx] = __float2half_rz(x[idx]); }
  • SIMD与SIMT混合编程场景:

    __simt_vf__ __launch_bounds__(1024) inline void kernel__float2half_rz(__gm__ half* dst, __gm__ float* x) { int idx = threadIdx.x + blockIdx.x * blockDim.x; dst[idx] = __float2half_rz(x[idx]); }

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

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

http://www.cnnetsun.cn/news/3484905.html

相关文章:

  • CSS-Sprite迁移指南:从旧版本升级到sprity的完整教程
  • MCAN发送缓冲区管理:从寄存器原理到嵌入式CAN FD通信实战
  • 10分钟上手editable-react-table:从安装到实现第一个可编辑表格
  • minimal-functional-fox与nightTab扩展完美搭配:打造终极浏览器体验
  • PPTTimer:Windows演示计时器的终极免费解决方案
  • 小熊猫Dev-C++:5大核心功能彻底解决C++开发效率难题
  • SOCD Cleaner:打破键盘冲突瓶颈,让游戏操作精准度提升300%
  • 如何使用editable-react-table快速实现列重命名与排序功能:React表格的终极指南
  • 未来已来:Inkling-mlx-4bit如何推动苹果芯片成为AI研究新基建
  • innoextract如何实现跨平台安装包提取?Windows安装程序解压神器全解析
  • Office自动化安装终极指南:5分钟完成Microsoft Office完整部署
  • 终极指南:如何用Wand-Enhancer免费解锁Wand专业版全部功能
  • letsencrypt-aws Docker容器化部署:简化运维的完整教程
  • Learning Java-2825378项目探秘:如何通过真实案例提升Java编程技能
  • maven_crate社区贡献指南:如何参与这个开源Maven仓库管理项目
  • 嵌入式RTI模块与看门狗配置:从原理到实战避坑指南
  • 【数据结构】链表介绍及代码实现
  • LizzieYzy:三步轻松上手,免费AI围棋分析终极指南
  • LUKE与BERT对比:知识嵌入如何提升NLP任务性能?
  • 从源码到实践:深入理解EasyDialog的实现原理
  • openEuler测试工具项目架构解析:理解测试工具的核心设计模式
  • 2024最新fast_obj完全指南:从单头文件到高性能3D模型加载
  • Moonlight Internet Hosting Tool:3步实现零配置远程游戏串流的终极指南
  • 终极音乐下载神器music-dl:5分钟快速上手,免费下载全网音乐
  • 如何5分钟快速恢复QQ空间历史数据:GetQzonehistory终极指南
  • 嵌入式显示系统TV检测与DAC测试模式原理与实践
  • 从技术封锁到存储自由:Synology硬盘兼容性解锁的三次技术革命
  • 终极PWA安装解决方案pwa-install:一站式解决跨浏览器安装难题 [特殊字符]
  • LFM2.5-Embedding-350M-4bit商业应用指南:LFM Open License v1.0条款解读
  • 终极指南:5分钟掌握iFakeLocation iOS虚拟定位工具