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

CANN/asc-devkit y1f数学函数

y1f

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

功能说明

获取输入数据x的1阶第二类贝塞尔函数y1的值。

函数原型

inline float y1f(float x)

参数说明

表1参数说明

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

返回值说明

输入数据的1阶第二类贝塞尔函数y1的值。

  • 当x<0时,返回值为nan。
  • 当x=0时,返回值为-inf。
  • 当x=inf时,返回值为0。
  • 当x=nan时,返回值为nan。

约束说明

  • 使用本接口时,配置的线程数不应超过256,否则有栈溢出风险。
  • 针对Ascend 950PR/Ascend 950DT,本接口不支持Subnormal场景:本接口内部实现使用到了除法运算符。由于除法运算符不支持Subnormal场景,在极少数场景下内部中间计算值的除数为Subnormal数据,会导致本接口最终结果为-inf。

需要包含的头文件

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

#include "simt_api/math_functions.h"

调用示例

  • SIMT编程场景:

    __global__ __launch_bounds__(256) void compute_y1f(float *result, const float *x, uint32_t count) { const uint32_t idx = blockIdx.x * blockDim.x + threadIdx.x; if (idx >= count) { return; } result[idx] = y1f(x[idx]); }
  • SIMD与SIMT混合编程场景:

    __simt_vf__ __launch_bounds__(256) inline void compute_y1f_vf(__gm__ float *result, __gm__ const float *x, uint32_t count) { const uint32_t idx = blockIdx.x * blockDim.x + threadIdx.x; if (idx >= count) { return; } result[idx] = y1f(x[idx]); } __global__ __vector__ void run_y1f(__gm__ float *result, __gm__ const float *x, uint32_t count) { asc_vf_call<compute_y1f_vf>(dim3(256), result, x, count); }

输入输出示例如下:

x:1, 2, 3, 4 result: -0.7812128 -0.1070324 0.3246745 0.3979257

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

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

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

相关文章:

  • 如何快速解决Windows 11任务栏拖放失效问题:终极修复指南
  • 万国官方售后全攻略|权威公布门店地址及客服热线(2026年7月最新) - 万国中国服务中心
  • JPEXS Free Flash Decompiler:Flash逆向工程的终极解决方案
  • 寻觅专业好用会议系统?这些要点助你精准抉择!
  • STM32串口打印实战:从基础配置到高级应用
  • openEuler阿语官网安全模块实现:CVE漏洞公告与安全公告系统解析 [特殊字符]
  • Ascend C bfloat16转float函数
  • OpenCore Legacy Patcher技术深度解析:如何让2007年老Mac运行macOS Sequoia
  • Windows Defender 终极禁用指南:开源工具Defender Control完整使用教程
  • RoboOps:面向具身智能的机器人操作系统架构
  • Wand-Enhancer:彻底释放Wand游戏助手的无限潜能,告别时间限制
  • FastbootEnhance:5大核心功能重塑Android设备底层操作体验
  • 从手动刷新到智能监控:闲鱼数据采集实战指南
  • 鸣潮自动化终极指南:如何用ok-ww解放双手,轻松刷声骸和日常任务
  • 小程序毕设项目:基于 SpringBoot 的漫画书籍分类阅览小程序的设计与实现 移动端漫画资源管理与阅读平台的设计与实现 (源码+文档,讲解、调试运行,定制等)
  • 算法竞赛高分突破:从数据结构到竞赛策略的232分实战指南
  • 3分钟搞定跨平台苹果字体:PingFangSC字体包完整使用指南
  • 3个核心秘籍解锁ESP32在Arduino生态中的无限潜力
  • WarcraftHelper:让经典魔兽争霸3在现代电脑上高效重生的专业工具
  • Typora免费版实操指南:v0.11.18与v1.9.5离线部署方案
  • C++ ios_base类
  • PCB布线基础与过孔使用技巧
  • Codex CLI 2026实战指南:终端AI工具链的稳定性与国产模型集成
  • [C++20/OOP] 从虚表底层到对象切片:现代 C++ 面向对象设计的“避坑指南”与黄金法则
  • 多平台直播录制架构解析:StreamCap如何通过模块化设计解决40+平台兼容性挑战
  • Adobe-GenP 3.0:终极Adobe Creative Cloud许可证验证解决方案
  • SPI 通信:4 线盲操作 vs 5 线带忙信号,差一根线差多远
  • 2026北京朝阳翡翠回收靠谱门店推荐-高效透明保值 - 全国二奢机构参考
  • Blender到Unreal Engine的Datasmith导出插件实战指南:高效实现3D工作流无缝对接
  • 打印机共享与连接