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

CANN/asc-devkit SIMT half2乘法函数

__hmulx2

【免费下载链接】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类型数据各分量的相乘结果,并遵循CAST_RINT模式对结果进行舍入。

函数原型

half2 __hmulx2(const half2 x, const half2 y)

参数说明

表1参数说明

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

返回值说明

输入数据各分量相乘的结果。本接口受全局饱和寄存器的影响,特殊值如下:

x分量y分量非饱和模式返回值饱和模式返回值
nan任意值nan0
任意值nannan0
±0±infnan0
±inf±0nan0
inf非零infASCRT_MAX_NORMAL_FP16
infinfinfASCRT_MAX_NORMAL_FP16
-inf非零-inf-ASCRT_MAX_NORMAL_FP16
inf-inf-inf-ASCRT_MAX_NORMAL_FP16
ASCRT_MAX_NORMAL_FP16ASCRT_MAX_NORMAL_FP16infASCRT_MAX_NORMAL_FP16

约束说明

需要包含的头文件

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

#include "simt_api/asc_fp16.h"

调用示例

  • SIMT编程场景:

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

    // 使用短向量可提升数据搬运效率 __simt_vf__ __launch_bounds__(1024) inline void simt_hmulx2(__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] = __hmulx2(x[idx], y[idx]); } __global__ __vector__ void compute_kernel(__gm__ half* x, __gm__ half* y, __gm__ half* dst, uint32_t input_total_length) { asc_vf_call<simt_hmulx2>(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/1205257/

相关文章:

  • 雷达中国官方售后服务中心|服务热线及网点地址权威信息通知(2026年7月最新) - 亨得利钟表维修中心
  • C++实现凸包算法:从几何原理到工程实践详解
  • 如何解决浏览器资源嗅探难题:猫抓Cat-Catch的完整技术解决方案
  • 格拉苏蒂官方服务项目及价格查询|全新地址电话权威信息公告(2026年7月最新) - 亨得利钟表维修中心
  • 伯爵总部售后电话提供官方售后维修与保养服务权威公示(2026年7月最新) - 亨得利钟表维修中心
  • MineContext深度解析:打造你的智能上下文感知伙伴
  • MySQL连接拒绝错误排查与解决方案
  • 从模糊需求到技术实现:Spring Boot武器评分系统开发实践
  • 人形机器人续航瓶颈与系统级优化路径
  • JellyBook入门教程:快速连接Jellyfin服务器并开始阅读
  • 如何用HunyuanVideo的滑动瓦片注意力机制重塑长视频生成的内存边界
  • PHP 8.0构造函数属性提升特性被滥用于构建隐蔽Webshell的风险与防御
  • 昉·星光2 RISC-V单板计算机GPU性能解析与优化
  • 2026 年至今,常山可靠的大批量匹布硅胶印花制造厂全面解析与选购指南,揭秘:如何用硅胶印花彻底颠覆你的产品生产线? - 企业推荐官【认证】
  • 3步掌握浏览器资源捕获:猫抓Cat-Catch完整使用指南
  • 2026年7月最新亨得利官方服务项目及价格查询|完整地址与客服热线权威信息声明 - 亨得利官方
  • Windows官网原版系统下载与安装全指南
  • 3分钟掌握AI图像放大:免费开源的Upscayl终极指南
  • 浪琴中国官方售后服务中心服务热线及门店详细地址实地考察报告_多信源验证(2026年7月更新) - 浪琴官方售后服务中心
  • JZLocationConverter错误处理指南:解决坐标转换中的精度问题
  • B站视频下载终极指南:BiliTools免费开源工具箱完整使用教程
  • Windows Server 2022版本选择与部署全攻略
  • CANN Ascend C SIMT bfloat16比较函数
  • 极速语音转写终极指南:如何使用faster-whisper实现4倍加速
  • Python+Selenium实现智能学时管理:浏览器自动化实战与防检测策略
  • 亲身探访北京真力时官方售后服务中心|最新电话与详细地址(2026年7月最新) - 亨得利官方服务中心
  • AI赋能n8n工作流:智能监控与自动化调试实践
  • 郑州百达翡丽回收价格查询与各大回收平台实测排行(2026年7月最新数据) - 天价名表回收平台
  • 如何快速掌握猫抓浏览器资源嗅探工具:新手完全指南
  • 欧米茄中国官方售后服务中心|官方电话和详细网点地址权威信息公告(2026年7月最新) - 欧米茄官方服务中心