CANN/Ascend C bfloat16精度转换

发布时间:2026/7/17 12:21:29

CANN/Ascend C bfloat16精度转换
__float22bfloat162_rna_sat【免费下载链接】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 训练系列产品不支持功能说明饱和模式下将float2类型数据的两个分量遵循CAST_ROUND模式转换为bfloat16精度返回转换后的bfloat16x2_t类型数据。函数原型inline bfloat16x2_t __float22bfloat162_rna_sat(const float2 x)参数说明表1参数说明参数名输入/输出描述x输入源操作数。返回值说明饱和模式下将输入的两个分量遵循CAST_ROUND模式转换成的bfloat16x2_t类型数据。特殊值如下x分量值非饱和模式返回值饱和模式返回值±0±0±0nannan0infinfASCRT_MAX_NORMAL_BF16-inf-inf-ASCRT_MAX_NORMAL_BF16ASCRT_MAX_NORMAL_BF16infASCRT_MAX_NORMAL_BF16-ASCRT_MAX_NORMAL_BF16-inf-ASCRT_MAX_NORMAL_BF16约束说明使用此接口前需将CTRL[60]寄存器设置为0否则饱和模式不生效。设置方式请参见控制饱和行为的方式。SIMT编程场景由于无法设置CTRL寄存器本接口的饱和模式不生效。需要包含的头文件使用该接口需要包含simt_api/asc_bf16.h头文件。#include simt_api/asc_bf16.h调用示例SIMD与SIMT混合编程场景// 使用短向量可提升数据搬运效率 __simt_vf__ __launch_bounds__(1024) inline void simt_float22bfloat162_rna_sat(__gm__ float2* input, __gm__ bfloat16x2_t* output, uint32_t input_total_length) { uint32_t idx blockIdx.x * blockDim.x threadIdx.x; // 每个线程处理1个float2类型的数据即2个float类型的数据因此idx input_total_length / 2的线程不处理数据 if (idx input_total_length / 2) { return; } output[idx] __float22bfloat162_rna_sat(input[idx]); } __global__ __vector__ void cast_kernel(__gm__ float* input, __gm__ bfloat16_t* output, uint32_t input_total_length) { asc_vf_callsimt_float22bfloat162_rna_sat(dim3(1024), (__gm__ float2*)input, (__gm__ bfloat16x2_t*)output, input_total_length); }【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

揭秘danmu核心架构:抽象类设计如何实现多平台弹幕无缝对接

揭秘danmu核心架构:抽象类设计如何实现多平台弹幕无缝对接

2026/7/17 12:11:28

揭秘danmu核心架构:抽象类设计如何实现多平台弹幕无缝对接 【免费下载链接】danmu Python 弹幕包 A live danmu package for python 项目地址: https://gitcode.com/gh_mirrors/da/danmu 想要在Python中轻松获取斗鱼、Bilibili、熊猫TV等各大直播平台的弹幕数…

5分钟零基础掌握RomPatcher.js:一站式解决10+种ROM补丁格式的终极Web工具

5分钟零基础掌握RomPatcher.js:一站式解决10+种ROM补丁格式的终极Web工具

2026/7/17 12:11:28

5分钟零基础掌握RomPatcher.js:一站式解决10种ROM补丁格式的终极Web工具 【免费下载链接】RomPatcher.js An IPS/UPS/APS/BPS/RUP/PPF/xdelta ROM patcher made in HTML5. 项目地址: https://gitcode.com/gh_mirrors/ro/RomPatcher.js 还在为复杂的ROM补丁工…

selene 架构解析:理解这个现代 Lua 检查工具的内部工作原理

selene 架构解析:理解这个现代 Lua 检查工具的内部工作原理

2026/7/17 12:11:28

selene 架构解析:理解这个现代 Lua 检查工具的内部工作原理 【免费下载链接】selene A blazing-fast modern Lua linter written in Rust 项目地址: https://gitcode.com/gh_mirrors/sele/selene selene 是一个用 Rust 编写的现代 Lua 代码检查工具&#xff…

Cocos-BCX主网节点配置详解:见证人节点与数据同步节点区别

Cocos-BCX主网节点配置详解:见证人节点与数据同步节点区别

2026/7/17 13:31:33

Cocos-BCX主网节点配置详解:见证人节点与数据同步节点区别 【免费下载链接】cocos-bcx-node-bin 项目地址: https://gitcode.com/gh_mirrors/co/cocos-bcx-node-bin 想要深入了解Cocos-BCX区块链网络的核心架构吗?本文将为您详细解析Cocos-BCX主…

5步掌握GBFR Logs:成为《碧蓝幻想:Relink》数据分析专家

5步掌握GBFR Logs:成为《碧蓝幻想:Relink》数据分析专家

2026/7/17 13:31:33

5步掌握GBFR Logs:成为《碧蓝幻想:Relink》数据分析专家 【免费下载链接】gbfr-logs GBFR Logs lets you track damage statistics with a nice overlay DPS meter for Granblue Fantasy: Relink. 项目地址: https://gitcode.com/gh_mirrors/gb/gbfr-l…

Medusa与数据库集成:实时数据可视化监控系统的完整实现

Medusa与数据库集成:实时数据可视化监控系统的完整实现

2026/7/17 13:31:33

Medusa与数据库集成:实时数据可视化监控系统的完整实现 【免费下载链接】medusa A JavaFX library for Gauges 项目地址: https://gitcode.com/gh_mirrors/medusa2/medusa 在现代软件开发中,实时数据可视化监控系统已经成为企业级应用的核心需求之…

Redis内存管理深度解析

Redis内存管理深度解析

2026/7/17 13:31:33

Redis内存管理深度解析:从内核机制到工程实践引言:内存管理的重要性内存淘汰策略(Eviction Policies)LRU算法实现细节LFU算法优化实现内存淘汰策略配置过期键删除机制惰性删除实现源码定期删除核心算法定期删除和惰性删除失效场景…

终极D2DX指南:3步让《暗黑破坏神2》在现代PC上焕发新生

终极D2DX指南:3步让《暗黑破坏神2》在现代PC上焕发新生

2026/7/17 13:31:32

终极D2DX指南:3步让《暗黑破坏神2》在现代PC上焕发新生 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还…

AI数字人平台推荐:短视频口播、带货出片和跨境多语种怎么选

AI数字人平台推荐:短视频口播、带货出片和跨境多语种怎么选

2026/7/17 13:21:31

AI数字人平台推荐:短视频口播、带货出片和跨境多语种怎么选 AI数字人平台越来越多,但真正选起来并不复杂。不要先问“哪个平台最强”,要先问“我要拿它做什么”。同样是AI数字人,短视频口播、直播带货、老板IP、企业培训、跨境多语…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/17 10:50:47

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/16 14:29:31

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/16 14:18:17

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载:…

Cursor终端插件生态避坑指南:23个实测低效插件黑名单,附3个自研轻量替代方案

Cursor终端插件生态避坑指南:23个实测低效插件黑名单,附3个自研轻量替代方案

2026/7/17 0:00:57

更多请点击: https://intelliparadigm.com 第一章:Cursor终端插件生态避坑指南概览 Cursor 作为基于 VS Code 内核构建的 AI 原生编辑器,其终端插件生态虽活跃,但存在兼容性断层、权限策略突变与调试链路断裂等典型风险。开发者常…

ChatGPT写作提示词效率革命:单条提示词响应质量提升3.8倍的关键变量(附可复用提示词矩阵表)

ChatGPT写作提示词效率革命:单条提示词响应质量提升3.8倍的关键变量(附可复用提示词矩阵表)

2026/7/17 0:00:57

更多请点击: https://codechina.net 第一章:ChatGPT写作提示词效率革命:单条提示词响应质量提升3.8倍的关键变量(附可复用提示词矩阵表) 提示词工程已从经验试错迈入变量驱动的科学阶段。实证研究表明,影响…

DeepSeek V4替换Codex底座模型的实践与优化

DeepSeek V4替换Codex底座模型的实践与优化

2026/7/17 0:00:57

1. 为什么选择用DeepSeek V4替换Codex的底座模型去年我在开发一个智能代码补全工具时,发现Codex的默认底座模型在复杂业务逻辑场景下表现不尽如人意。经过多次测试对比,DeepSeek V4在以下几个关键指标上展现出明显优势:代码补全准确率&#x…