发布时间:2026/7/16 23:28:53
CANN/asc-devkit SIMD-API Log函数文档 Log【免费下载链接】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 训练系列产品不支持功能说明头文件路径basic_api/reg_compute/kernel_reg_compute_vec_unary_intf.h。该接口根据mask逐元素对源操作数求自然对数将结果写入目的操作数。计算公式如下$$dstReg_i \log(srcReg_i)$$函数原型template typename T DefaultType, auto mode MaskMergeMode::ZEROING, typename U __simd_callee__ inline void Log(U dstReg, U srcReg, MaskReg mask)参数说明表 1模板参数说明参数名描述T操作数数据类型。支持的数据类型请参考数据类型。mode可配置为MaskMergeMode枚举类型或LogSpecificMode的结构体指针。• 配置MaskMergeMode选择MERGING模式或ZEROING模式。• ZEROING模式下mask未筛选的元素在dstReg中置零。• MERGING模式当前不支持。• 配置LogSpecificMode定义如下enum class LogAlgo {INTRINSIC 0,PRECISION_1ULP_FTZ_TRUE,PRECISION_1ULP_FTZ_FALSE,};struct LogSpecificMode {MaskMergeMode mrgMode MaskMergeMode::ZEROING,LogAlgo algo LogAlgo::INTRINSIC;};• mrgMode选择MERGING模式或ZEROING模式。• algo用于配置Subnormal模式。• LogAlgo::INTRINSIC、LogAlgo::PRECISION_1ULP_FTZ_TRUE使用单指令计算得出结果最大精度误差为1ulp。目前该算法支持half、float数据类型。• LogAlgo::PRECISION_1ULP_FTZ_FALSE支持Subnormal数据计算最大精度误差为1ulp。目前该算法支持half、float数据类型。U源操作数和目的操作数的RegTensor类型例如RegTensorhalf由编译器自动推导用户不需要填写。表2参数说明参数名输入/输出描述dstReg输出目的操作数。类型为RegTensor。srcReg输入源操作数。类型为RegTensor。mask输入源操作数元素操作的有效指示详细说明请参考MaskReg。数据类型目的操作数与源操作数的数据类型需要保持一致。支持的数据类型为half、float。返回值说明无约束说明无关键特性说明最大精度误差LogAlgo::INTRINSIC、LogAlgo::PRECISION_1ULP_FTZ_TRUE最大精度误差为1ulp。LogAlgo::PRECISION_1ULP_FTZ_FALSE最大精度误差为1ulp。配置Subnormal模式FTZFlush To Zero一种浮点运算模式当结果为Subnormal时将其直接清零近似为0而非保留其精确的微小数值。只有将algo设置为LogAlgo::PRECISION_1ULP_FTZ_FALSE时Log接口才会保留并正确输出Subnormal结果其他模式下Subnormal均被FTZ。一般场景推荐使用性能更好的LogAlgo::INTRINSIC、LogAlgo::PRECISION_1ULP_FTZ_TRUE需要精确Subnormal输出的场景如特定数据精度要求的算法、避免除零错误使用LogAlgo::PRECISION_1ULP_FTZ_FALSE。调用示例templatetypename T __simd_vf__ inline void LogVF(__ubuf__ T* dstAddr, __ubuf__ T* srcAddr, uint32_t count, uint16_t oneRepeatSize, uint16_t repeatTimes) { AscendC::Reg::RegTensorT srcReg; AscendC::Reg::RegTensorT dstReg; AscendC::Reg::MaskReg mask; // Subnormal模式 // static constexpr AscendC::Reg::LogSpecificMode mode {MaskMergeMode::ZEROING, LogAlgo::PRECISION_1ULP_FTZ_FALSE}; for (uint16_t i 0; i repeatTimes; i) { mask AscendC::Reg::UpdateMaskT(count); AscendC::Reg::LoadAlign(srcReg, srcAddr i * oneRepeatSize); AscendC::Reg::Log(dstReg, srcReg, mask); // Subnormal模式 // AscendC::Reg::LogDTYPE, mode(dstReg, srcReg, mask); AscendC::Reg::StoreAlign(dstAddr i * oneRepeatSize, dstReg, mask); } }【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026/7/16 23:28:53

开关电源变压器啸叫原因与解决方案

1. 开关电源变压器啸叫现象初探第一次听到开关电源变压器发出尖锐响声时,我正蹲在实验室调试一块新设计的电路板。那种高频的"吱吱"声像指甲刮过黑板,让人头皮发麻。作为从业十余年的电源工程师,我立刻意识到这是典型的变压器啸叫现…

2026/7/16 23:28:53

SAP QM高阶之检验点(Inspection Point)在复杂生产场景下的实战应用

1. 检验点(Inspection Point)的核心价值与应用场景在现代化制造企业中,质量管理早已不是简单的"合格/不合格"二元判断。当生产线同时处理多个批次、实验室需要跨班次协作、同一物料要经历不同检测设备时,传统检验模式就会暴露出数据割裂、追溯…

2026/7/16 23:28:53

NAS一键部署AFFiNE:打造私有Notion+白板知识库

1. 项目概述:为什么需要“自己的Notion白板”?你有没有过这样的体验:在Notion里写完一篇产品需求文档,想随手画个流程图,却得切到Miro或Excalidraw;画完白板又想把关键节点转成数据库条目,结果发…

2026/7/17 0:39:25

OpenEuler Qt6元包版本管理:从6.5.0到6.5.2的升级路径

OpenEuler Qt6元包版本管理:从6.5.0到6.5.2的升级路径 【免费下载链接】qt6 Qt6 meta package 项目地址: https://gitcode.com/openeuler/qt6 前往项目官网免费下载:https://ar.openeuler.org/ar/ Qt6作为跨平台应用开发的核心框架,在…

2026/7/17 0:39:25

如何为ukui-themes贡献主题:社区参与与主题提交完整流程

如何为ukui-themes贡献主题:社区参与与主题提交完整流程 【免费下载链接】ukui-themes The theme collections of UKUI. 项目地址: https://gitcode.com/openeuler/ukui-themes 前往项目官网免费下载:https://ar.openeuler.org/ar/ ukui-themes是…

2026/7/17 0:39:25

AI模型评估与基准测试:从GLUE到MMLU的演进

AI模型评估与基准测试:从GLUE到MMLU的演进模型评估是AI发展的基石。从早期的单一任务准确率到现代的综合能力基准,评估体系经历了根本性变革。本文将系统梳理NLP和通用AI评估基准的演进,分析各类评测的设计原理和局限性,帮助读者建…

2026/7/17 0:39:25

AI大模型长上下文技术:从滑动窗口到无限上下文

AI大模型长上下文技术:从滑动窗口到无限上下文大语言模型的上下文长度从早期的2K tokens扩展到如今的数百万tokens,这一突破正在重塑AI应用的可能性边界。从文档理解到代码分析,从多轮对话到视频理解,长上下文能力成为衡量模型实用…

2026/7/17 0:34:25

GitHub Copilot CLI离线化:企业级AI编程主权落地实践

1. 这不是功能升级,而是开发范式的一次静默迁移“GitHub Copilot CLI现在可以完全脱离GitHub服务器运行”——这句话表面看是条技术新闻,但在我过去三年深度参与AI编码工具链落地的实践中,它实际标志着一个分水岭:开发者第一次真正…

2026/7/15 17:04:06

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/15 22:21:34

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/15 23:18:22

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/17 0:04:23

BiSheng JDK-build性能调优:构建速度提升30%的优化策略

BiSheng JDK-build性能调优:构建速度提升30%的优化策略 【免费下载链接】bishengjdk-build BiSheng JDK build and test scripts - common across all releases/versions 项目地址: https://gitcode.com/openeuler/bishengjdk-build 前往项目官网免费下载&am…

2026/7/16 13:58:36

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…