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

CANN/asc-devkit:ilogbf函数文档

ilogbf

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

功能说明

计算以2为底,输入数据的对数,并对结果向下取整,返回整数。

函数原型

inline int ilogbf(float x)

参数说明

表1参数说明

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

返回值说明

对于有限非零值,返回以2为底的x的绝对值的对数,并向下取整后的整数值。

特殊取值场景下的返回值如下表所示。

输入值x返回值
+0ASCRT_MIN_VAL_S
-0ASCRT_MIN_VAL_S
infASCRT_MAX_VAL_S
-infASCRT_MAX_VAL_S
nanASCRT_MIN_VAL_S

约束说明

需要包含的头文件

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

#include "simt_api/math_functions.h"

调用示例

  • SIMT编程场景:

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

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

输入输出示例如下:

x:0.25, 0.75, 1.25, 1.75 result: -2 -1 0 0

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

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

http://www.cnnetsun.cn/news/3461127.html

相关文章:

  • Cursor AB测试代码≠简单if/else!深度拆解AST级分流决策树构建原理,含Chrome DevTools可视化调试插件(v2.3.1正式版首发)
  • 5分钟掌握Untrunc:高效修复损坏视频文件的终极指南
  • 古迪植物大战僵尸积木60043机关套装测评与拼搭指南
  • Windows 11首次启动强制联网登录的解决方案
  • 正点原子DFPGL22G开发板FPGA入门实战指南
  • 如何快速部署openEuler Preempt_RT:10分钟完成Linux实时内核配置
  • Windows平台DLL加载机制全解析与实战指南
  • Triton 语言在 Rust 生态中的集成路径:自定义 Kernel 的编写、编译与 FFI 调用
  • 竞价推广代运营多钱:国内网络营销服务行业定价逻辑深度解析与丽鸿科技专业服务参考
  • 基于图像识别的鸣潮自动化工具:从技术原理到实战应用完整指南
  • Windows虚拟机安装macOS完整教程与优化指南
  • Intel-glibc入门指南:为什么选择Intel优化的glibc库?
  • 幻兽帕鲁存档修复终极指南:如何解决服务器迁移导致的数据丢失问题
  • 在PC上体验任天堂Switch游戏:Ryujinx模拟器深度解析与实战指南
  • 小程序毕设选题推荐:基于 SpringBoot 的校园公开课预约学习小程序的设计与实现 高校公开课线上报名管理系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 打印机共享连接问题
  • 计算机毕业设计之基于springboot的养老电商平台的设计与实现
  • Windows 11终极瘦身指南:让系统快51%的免费开源工具
  • ChatGPT Pro 适合哪些人?这几类用户升级后提升最明显
  • C 语言工业级通用组件手写 07:事件驱动状态机
  • 从Google原版到MLX社区版:diffusiongemma-26B-A4B-it模型转换全解析
  • Ultralytics深度剖析专栏导航
  • 为什么你的Cursor项目启动要8秒?——深度剖析V8堆快照+Event Loop监控链(含自动采集脚本)
  • CANN/asc-devkit SIMD量化操作API
  • 别再手动调参!Cursor图片处理的4个隐藏参数配置,让模糊图秒变4K——内部文档级操作手册首次公开
  • GitHub Copilot SDK:把生产级 Agent 引擎直接嵌进你的应用
  • 简易html静态网页
  • Vue3中customRef详解
  • 高级调试指南:PyTorch Elastic常见故障排除与性能优化终极教程
  • 情感 AI 的多模态对话架构:文本、语音与表情信号的协同推理设计