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

CANN/asc-devkit: half2比较函数__hgtux2

__hgtux2

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

功能说明

比较两个half2类型数据的两个分量,如果分量满足第一个数大于第二个数,则对应比较结果为1.0,否则为0.0。若任一输入的分量为nan,该分量的比较结果为1.0。

函数原型

half2 __hgtux2(half2 x, half2 y)

参数说明

表1参数说明

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

返回值说明

比较输入数据各分量是否满足第一个数大于第二个数的结果:满足时对应结果为1,不满足时对应结果为0。特殊值如下:

x分量y分量返回值(对应分量)
任一分量为nan1
±0±00
inf任意有限值1
-inf任意有限值0
infinf0
inf-inf1
-inf-inf0

约束说明

需要包含的头文件

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

#include "simt_api/asc_fp16.h"

调用示例

  • SIMT编程场景:

    // 使用短向量可提升数据搬运效率 __global__ __launch_bounds__(1024) void simt_hgtux2(half* x, half* y, half* dst, uint32_t input_total_length) { uint32_t idx = blockIdx.x * blockDim.x + threadIdx.x; // 每个线程处理1个half2类型的数据,即2个half类型的数据,因此idx >= input_total_length / 2的线程不处理数据 if (idx >= input_total_length / 2) { return; } half2* input1 = (half2*)x; half2* input2 = (half2*)y; half2* out = (half2*)dst; out[idx] = __hgtux2(input1[idx], input2[idx]); }
  • SIMD与SIMT混合编程场景:

    // 使用短向量可提升数据搬运效率 __simt_vf__ __launch_bounds__(1024) inline void simt_hgtux2(__gm__ half2* x, __gm__ half2* y, __gm__ half2* dst, uint32_t input_total_length) { uint32_t idx = blockIdx.x * blockDim.x + threadIdx.x; // 每个线程处理1个half2类型的数据,即2个half类型的数据,因此idx >= input_total_length / 2的线程不处理数据 if (idx >= input_total_length / 2) { return; } dst[idx] = __hgtux2(x[idx], y[idx]); } __global__ __vector__ void compare_kernel(__gm__ half* x, __gm__ half* y, __gm__ half* dst, uint32_t input_total_length) { asc_vf_call<simt_hgtux2>(dim3(1024), (__gm__ half2*)x, (__gm__ half2*)y, (__gm__ half2*)dst, input_total_length); }

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

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

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

相关文章:

  • 加密算法分类与安全实践指南
  • Type-C接口15V电压诱骗方案与PD协议解析
  • 【架构实战】JVM调优:GC选择与堆内存分配策略
  • Medusa时钟组件完全指南:从数字时钟到模拟时钟的全面实现
  • 咸甜解馋糕点怎么选?双非遗杨先生一站式拿捏,嘴馋时刻闭眼囤 - 品牌测评网
  • Vue-next-admin:5分钟快速上手的Vue3+TypeScript后台管理系统模板
  • 微服务架构设计原理:9个关键服务模块的职责划分与协作机制
  • Rust Rosetta Code数据结构:链表、树和图在Rust中的优雅实现
  • 高效可视化打印解决方案:基于Vue的跨平台打印设计器
  • 为什么选择kyclassifier?openEuler包分析工具的性能与效率对比
  • 终极音频共享指南:如何将Windows电脑声音无线传输到安卓设备
  • 魂类游戏修改神器Smithbox:让你的游戏世界随心所欲
  • fheroes2:重燃英雄无敌II经典传奇的现代游戏引擎 [特殊字符]
  • 如何快速配置Zotero PDF2zh插件:学术文献中文翻译的终极实战指南
  • KingbaseES开发接口适配实测:JDBC/MyBatisPlus/Druid/Spring Boot/Seata/Nacos全链路配置指南
  • Devstral-Small-2-24B-Instruct-2512-8bit API开发:构建企业级视觉AI应用的完整方案
  • 2026武汉武昌翡翠回收避坑指南:看懂常见套路,选对靠谱平台 - ys韩
  • Blender材质合并插件:解决游戏引擎绘制调用优化的专业方案
  • 如何用auto-extension-manager打造智能扩展规则?5分钟快速上手教程
  • Steam Deck多系统引导终极指南:5分钟实现一键系统切换
  • 智能音乐版权检测:基于Magenta的AI音乐相似度分析方案
  • HBM‘s Nuclear Tech Mod终极建造指南:打造完美核设施
  • mjcript:iOS逆向工程必备工具!基于Cycript的高效函数库完全指南
  • D3Blocks时间序列可视化:创建动态气泡图与移动图表的完整指南
  • 企业GEO优化效果怎么验?五大核心指标加监测工具,让AI推荐效果可量化可验证
  • 3D打印流量校准终极指南:5步解决挤出问题,轻松提升打印质量
  • Parity Bitcoin与Bitcoin Core对比:为什么选择Rust实现的比特币客户端
  • 3分钟解锁WeMod高级体验:开源工具Wand-Enhancer完全指南
  • Zig-WebUI多浏览器支持测评:从Chrome到Firefox的无缝体验
  • AudioShare音频共享神器:打破设备壁垒,打造全屋无线音响系统