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

CANN asc-devkit向量反量化函数

asc_deq_int162b8

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

产品支持情况

产品是否支持
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品

功能说明

将int16_t类型转换为int8_t或uint8_t类型,并将数据存放在每个DataBlock的上半块或下半块。使用该接口前需要调用asc_set_deq_scale接口设置量化参数。

  • asc_deq_int162b8_h:将数据存放在每个DataBlock的上半块。
  • asc_deq_int162b8_l:将数据存放在每个DataBlock的下半块。

如下图所示:

计算公式如下:

$$ dst_i = (src_i*scale)+offset $$

函数原型

  • 前n个数据计算

    __aicore__ inline void asc_deq_int162b8_h(__ubuf__ int8_t* dst, __ubuf__ int16_t* src, uint32_t count) __aicore__ inline void asc_deq_int162b8_h(__ubuf__ uint8_t* dst, __ubuf__ int16_t* src, uint32_t count) __aicore__ inline void asc_deq_int162b8_l(__ubuf__ int8_t* dst, __ubuf__ int16_t* src, uint32_t count) __aicore__ inline void asc_deq_int162b8_l(__ubuf__ uint8_t* dst, __ubuf__ int16_t* src, uint32_t count)
  • 高维切分计算

    __aicore__ inline void asc_deq_int162b8_h(__ubuf__ int8_t* dst, __ubuf__ int16_t* src, uint8_t repeat, uint16_t dst_block_stride, uint16_t src_block_stride, uint8_t dst_repeat_stride, uint8_t src_repeat_stride) __aicore__ inline void asc_deq_int162b8_h(__ubuf__ uint8_t* dst, __ubuf__ int16_t* src, uint8_t repeat, uint16_t dst_block_stride, uint16_t src_block_stride, uint8_t dst_repeat_stride, uint8_t src_repeat_stride) __aicore__ inline void asc_deq_int162b8_l(__ubuf__ int8_t* dst, __ubuf__ int16_t* src, uint8_t repeat, uint16_t dst_block_stride, uint16_t src_block_stride, uint8_t dst_repeat_stride, uint8_t src_repeat_stride) __aicore__ inline void asc_deq_int162b8_l(__ubuf__ uint8_t* dst, __ubuf__ int16_t* src, uint8_t repeat, uint16_t dst_block_stride, uint16_t src_block_stride, uint8_t dst_repeat_stride, uint8_t src_repeat_stride)
  • 同步计算

    __aicore__ inline void asc_deq_int162b8_h_sync(__ubuf__ int8_t* dst, __ubuf__ int16_t* src, uint32_t count) __aicore__ inline void asc_deq_int162b8_h_sync(__ubuf__ uint8_t* dst, __ubuf__ int16_t* src, uint32_t count) __aicore__ inline void asc_deq_int162b8_l_sync(__ubuf__ int8_t* dst, __ubuf__ int16_t* src, uint32_t count) __aicore__ inline void asc_deq_int162b8_l_sync(__ubuf__ uint8_t* dst, __ubuf__ int16_t* src, uint32_t count)

参数说明

参数名输入/输出描述
dst输出目的操作数(矢量)的起始地址。
src输入源操作数(矢量)的起始地址。
count输入参与计算的元素个数。
repeat输入迭代次数。
dst_block_stride输入目的操作数单次迭代内不同DataBlock间地址步长。
src_block_stride输入源操作数单次迭代内不同DataBlock间地址步长。
dst_repeat_stride输入目的操作数相邻迭代间相同DataBlock的地址步长。
src_repeat_stride输入源操作数相邻迭代间相同DataBlock的地址步长。

返回值说明

流水类型

PIPE_V

约束说明

  • dst、src的起始地址需要32字节对齐。
  • 操作数地址重叠约束请参考通用地址重叠约束。

调用示例

constexpr uint64_t total_length = 128; // total_length指参与计算的数据长度 __ubuf__ int16_t src[total_length]; __ubuf__ int8_t dst[total_length]; float scale = 1.0; // 量化参数为1 int16_t offset = 0; // 不带偏移 bool sign_mode = true; // 量化结果带符号(dst为int8_t类型) asc_set_deq_scale(scale, offset, sign_mode); // 计算公式为dst = src asc_deq_int162b8_h(dst, src, total_length); // 将src转换为int8_t类型并存放在dst每个DataBlock的下半块 asc_deq_int162b8_l(dst, src, total_length); // 将src转换为int8_t类型并存放在dst每个DataBlock的上半块

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

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

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

相关文章:

  • 2026年北京有害生物防制服务商深度横评:从应急消杀升级到科学防制体系 - 企业名录优选推荐
  • 泾县黄金回收店铺哪家好 靠谱门店推荐及联系方式 - 莘州文化
  • 为Hermes Agent配置Taotoken自定义提供商,扩展AI工具链能力
  • 深度探索WinBtrfs:Windows环境下的Btrfs文件系统完整解决方案
  • 5分钟掌握ToolsFx:终极数据安全与密码学工具箱解决方案
  • 环烷基变压器油技术参数解析与场景适配全指南 - 奔跑123
  • ColabFold完整指南:15分钟免费预测蛋白质三维结构的终极方案
  • DeepSeek可观测性盲区大起底:OpenTelemetry+Prometheus+Jaeger链路追踪缺失的2个关键Span埋点(附Grafana看板模板)
  • 琅琊区黄金回收白银回收铂金回收店铺哪家好 靠谱门店推荐 - 莘州文化
  • 2026高效之选:专业的食品加工压滤机江苏厂家推荐 - 品牌2025
  • 深度解析Structured3D:大规模照片级真实感结构化三维建模数据集的技术全景
  • 灵璧县黄金回收店铺哪家好 靠谱门店推荐及联系方式 - 莘州文化
  • 2026年建筑模板、覆膜板与小红板优质厂家甄选指南top5 - 深度智识库
  • Obsidian笔记分享终极指南:3分钟实现加密安全协作
  • Vue Tree List 使用教程:3分钟上手Vue树形组件,轻松构建层级数据界面
  • Taotoken 用量看板如何帮助开发者清晰掌握各模型消耗详情
  • 需求跟踪矩阵的定义和作用
  • Excel怎样转PDF?免费在线转换工具对比评测|2026实用方案汇总 - AI测评专家
  • 为什么你的Sora 2 WebM在iOS Safari黑屏?揭秘AV1/WebM交叉兼容性断层及3步热修复方案
  • awesome-canvas项目贡献指南:如何成为Canvas开源社区的一员
  • 常州聚点网络科技:深耕拼多多代运营的专业服务提供商 - 奔跑123
  • 2026年北京消杀公司怎么选?A级资质、HACCP合规、零风险保障完全指南 - 企业名录优选推荐
  • 如何用Yarn Spinner打造沉浸式游戏对话体验?一个开发者必知的专业工具链解析
  • 渗透测试中的10个常见逻辑漏洞及修复方案(附实战案例)
  • DeepEval与LangChain集成实施方案:LLM应用评估与监控配置指南
  • 暗黑破坏神2存档编辑器终极指南:如何轻松修改D2/D2R角色与装备
  • 机库全域安全智能管控技术白皮书
  • Windows驱动签名绕过神器DSEFix:3分钟解决驱动安装难题
  • 通过Taotoken用量看板分析各模型API的月度消耗分布
  • 贺达净水:以可靠品质重新定义商用净水服务标准 - 贺达净水