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

CANN/Ascend C SIMT-API FP8转换函数

__hif822float2

【免费下载链接】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 训练系列产品:不支持

功能说明

将hifloat8x2_t类型数据的两个分量转换为浮点数,返回转换后的float2类型数据。

函数原型

inline float2 __hif822float2(const hifloat8x2_t x)

参数说明

表1参数说明

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

返回值说明

将hifloat8x2_t类型输入转换成的float2类型数据。特殊值如下:

x分量值返回值
00
nannan
infinf
-inf-inf

约束说明

SIMT编程场景当前不支持使用该接口。

需要包含的头文件

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

#include "simt_api/asc_fp8.h"

调用示例

  • SIMD与SIMT混合编程场景:

    // 使用短向量可提升数据搬运效率 __simt_vf__ __launch_bounds__(1024) inline void simt_hif822float2(__gm__ hifloat8x2_t* input, __gm__ float2* output, uint32_t input_total_length) { uint32_t idx = blockIdx.x * blockDim.x + threadIdx.x; // 每个线程处理1个hifloat8x2_t类型的数据,即2个hifloat8_t类型的数据,因此idx >= input_total_length / 2的线程不处理数据 if (idx > input_total_length /2) { return; } output[idx] = __hif822float2(input[idx]); } __global__ __vector__ void cast_kernel(__gm__ uint8_t* input, __gm__ float* output, uint32_t input_total_length) { asc_vf_call<simt_hif822float2>(dim3(1024), (__gm__ hifloat8x2_t*)input, (__gm__ float2*)output, input_total_length); }

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

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

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

相关文章:

  • 贾子的相变:当历史的筛选机制遇见认知的临界点
  • BetterDB Monitor Webhook配置:实时通知与自动化工作流集成
  • Material Combiner:Blender材质合并与UV修复的技术解决方案
  • Marge-bot 高级功能探索:Commit Trailers、审核者模拟和合并限制
  • 用 AI 藏 AI 痕迹:Academic Humanizer 掀学界论战,AI 智能落地有了新解法
  • 暂存区是不是叫stage? 工作区叫啥?
  • Go-Queryset错误处理与调试:常见问题排查与解决方案
  • Nintendo Switch帧率解锁终极指南:FPSLocker完全掌握手册
  • Smart 265视频编码技术解析与安防监控应用
  • 高效音频转字幕终极指南:AsrTools智能语音识别方案
  • JODConverter终极指南:5个技巧实现Java文档格式互转高效集成
  • 如何用node-persist实现服务器端localStorage:5分钟快速上手教程
  • Servest JSX服务端渲染:如何在Deno中实现现代化Web应用
  • Scala Scraper DSL高级特性:Option、Either与Functor的优雅运用
  • AI 生成组件的自动化回归测试:快照对比与交互回放的工程方案
  • TBAnnotationClustering社区与支持:如何贡献与获取帮助的终极指南
  • 17个Obsidian核心插件模板:快速搭建个人知识管理系统
  • WaveTools鸣潮性能调校完整解决方案:从诊断到优化的全流程指南
  • 收藏!2026年普通人也能抓住的AI就业5条赛道,速看!
  • 如何快速解决音频标签问题:Tag Editor完整使用指南与实用技巧
  • CANN/asc-devkit TQueBind分配Tensor
  • Cursor+FastAPI+Docker后端搭建全栈方案(企业级CI/CD预配置模板首次公开)
  • B站广告跳过插件终极指南:小电视空降助手完全解析
  • UniHacker:Unity开发者的终极跨平台许可证解决方案完整指南
  • 戴森球计划8000+蓝图:从新手到专家的终极工厂建设指南
  • 别再死记token和transformer!:用快递分拣站、多语同声传译组、蜂巢协作网等5个工业级比喻,构建可迁移的AI心智模型
  • PlutoGrid实战案例:如何打造企业级Flutter数据管理系统
  • LM-BFF数据集准备:15个NLP任务数据下载与预处理完全指南
  • 同城实体直播实战指南:3天密训+1V1话术定制,快速引爆店铺流量
  • Dism++:全面掌握Windows系统优化与维护的免费专业工具