news 2026/7/17 13:25:29

CANN asc-devkit half2相等比较函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN asc-devkit half2相等比较函数

__heqx2

【免费下载链接】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。

函数原型

half2 __heqx2(half2 x, half2 y)

参数说明

表1参数说明

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

返回值说明

比较输入数据各分量是否相等的结果:满足时对应结果为1,不满足时对应结果为0。特殊值如下:

x分量y分量返回值
x=y1
x≠y0
0-01
infinf1
-inf-inf1
inf-inf0
nannan0

约束说明

需要包含的头文件

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

#include "simt_api/asc_fp16.h"

调用示例

  • SIMT编程场景:

    // 使用短向量可提升数据搬运效率 __global__ __launch_bounds__(1024) void simt_heqx2(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] = __heqx2(input1[idx], input2[idx]); }
  • SIMD与SIMT混合编程场景:

    // 使用短向量可提升数据搬运效率 __simt_vf__ __launch_bounds__(1024) inline void simt_heqx2(__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] = __heqx2(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_heqx2>(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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/17 13:23:26

AI-Shoujo HF Patch终极指南:一键解决MOD兼容、翻译与游戏优化

1. 项目概述&#xff1a;什么是AI-Shoujo HF Patch&#xff1f;如果你玩过AI-Shoujo&#xff08;或者它的姐妹作AI-Syoujyo、AI-Girl&#xff09;&#xff0c;大概率会遇到几个头疼的问题&#xff1a;官方更新得手动一个个打&#xff0c;社区里海量的角色卡和场景一加载就报错“…

作者头像 李华
网站建设 2026/7/17 13:22:01

SharpSCADA技术架构深度解析:C开源工业监控系统

SharpSCADA技术架构深度解析&#xff1a;C#开源工业监控系统 【免费下载链接】SharpSCADA C# SCADA 项目地址: https://gitcode.com/gh_mirrors/sh/SharpSCADA SharpSCADA是一款基于C#和.NET Framework开发的开源工业监控与数据采集系统&#xff0c;为工业自动化领域提供…

作者头像 李华
网站建设 2026/7/17 13:21:29

OneNote迁移终极方案:5步完成无损笔记转换到Markdown

OneNote迁移终极方案&#xff1a;5步完成无损笔记转换到Markdown 【免费下载链接】onenote-md-exporter ConsoleApp to export OneNote notebooks to Markdown formats 项目地址: https://gitcode.com/gh_mirrors/on/onenote-md-exporter 你是否正在寻找一种可靠的方法将…

作者头像 李华
网站建设 2026/7/17 13:19:58

如何快速掌握PersonaLive:实时人像动画生成的完整入门指南

如何快速掌握PersonaLive&#xff1a;实时人像动画生成的完整入门指南 【免费下载链接】PersonaLive [CVPR 2026] PersonaLive! : Expressive Portrait Image Animation for Live Streaming 项目地址: https://gitcode.com/GitHub_Trending/pe/PersonaLive 想要将静态人…

作者头像 李华
网站建设 2026/7/17 13:19:38

pyheatmagic核心原理:如何将IPython魔法命令转化为性能分析利器

pyheatmagic核心原理&#xff1a;如何将IPython魔法命令转化为性能分析利器 【免费下载链接】pyheatmagic IPython magic command to profile and view your python code as a heat map. 项目地址: https://gitcode.com/gh_mirrors/py/pyheatmagic pyheatmagic 是一个强…

作者头像 李华