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

CANN/catlass分组矩阵乘反量化示例

GroupedMatmulSliceMPerTensorPerChannelDequant Example Readme【免费下载链接】catlass本项目是CANN的算子模板库提供NPU上高性能矩阵乘及其相关融合类算子模板样例。项目地址: https://gitcode.com/cann/catlass代码组织├── 48_ascend950_grouped_matmul_slice_m_per_tensor_per_channel_dequant │ ├── CMakeLists.txt # CMake编译文件 │ ├── README.md │ └── grouped_matmul_slice_m_per_tensor_per_channel_dequant.cpp # 主文件功能介绍该算子支持A矩阵在m轴切分然后和B矩阵按照group分组进行矩阵乘之后进行per_tensor或per_channel反量化操作。A/B矩阵为int8类型scale为float输出结果为half。Fixpipe随路量化/反量化对于特定输入输出数据类型Fixpipe支持将计算结果从CO1搬出到Global Memory时通过配置Fixpipe的量化/反量化模式和量化/反量化参数对输出C矩阵元素执行数据量化或反量化操作。Matmul量化场景Matmul计算时左矩阵A、右矩阵B为half数据类型输出C矩阵为int8_t数据类型。该场景下C矩阵的数据从CO1搬出到Global Memory时会执行量化操作将最终结果量化为int8_t类型如下图所示。Matmul反量化场景Matmul计算时左矩阵A、右矩阵B为int8_t数据类型输出C矩阵为half数据类型。该场景下C矩阵的数据从CO1搬出到Global Memory时会执行反量化操作将最终结果反量化为对应的half类型如下图所示。Fixpipe提供了两种不同粒度的随路量化/反量化模式即per_tensor和per_channel。per_tensor对整个Tensor进行量化/反量化Tensor具有唯一的缩放因子。这种方法可以降低模型的存储和计算成本但会降低模型的精度。per_channel对Tensor的每个通道单独进行量化/反量化同一通道内共享同一缩放因子通道间缩放因子则各不相同。这种方法可以更好地保留模型的精度但会增加模型的存储和计算成本。使用示例获取代码之后编译相应的算子可执行文件可参考quickstart本用例为Ascend 950算子编译时需加-DCATLASS_ARCH3510执行算子# 编译指定用例 bash scripts/build.sh 48_ascend950_grouped_matmul_slice_m_per_tensor_per_channel_dequant -DCATLASS_ARCH3510 cd output/bin # 可执行文件名|group数量|矩阵m轴|n轴|k轴|量化模式|Device ID # group数量及矩阵m轴、n轴、k轴维度必须大于0 # 量化模式可选0或10表示per_tensor1表示per_channel # Device ID可选默认为0 ./48_ascend950_grouped_matmul_slice_m_per_tensor_per_channel_dequant 128 512 1024 2048 0 0执行结果如下说明精度比对成功。Compare success.使用说明GroupedMatmulSliceMPerTensorPerChannelDequant默认使用的DispatchPolicy MmadDequant支持以下几个模板参数模板参数默认值参数说明ArchTag无指定架构型号enableUnitFlagfalse是否开启Unitflag开启L0C多缓冲时必须设置为falseuseHF32false是否开启HF32仅float类型支持l0CStages1指定L0C的缓冲区数量设置为2即可开启L0C双缓冲enableL1Residentfalse是否开启L1常驻l1AStages2L1上加载矩阵A的Buffer数量l1BStages2L1上加载矩阵B的Buffer数量l0AStages2L0上加载矩阵A的Buffer数量l0BStages2L0上加载矩阵B的Buffer数量设矩阵Shape为M N K, L1上的分块大小为m1 n1 k1M方向的分块数量mTiles CeilDiv(M, m1)N方向的分块数量nTiles CeilDiv(N, n1)总任务数为taskBlocks mTiles * nTiles在以下两种情况下可以选择开启enableL1Resident1.mTiles 1且nTiles CoreNum且K 2 * k1。此时还可以设置l0CStages2(需要关闭enableUnitFlag)如果空间不足无法设置l0CStages2则将n1设置为原来的一半。2.nTiles 1且mTiles CoreNum, 且K 2 * k1。此时还可以设置l0CStages2(需要关闭enableUnitFlag)如果空间不足无法设置l0CStages2则将m1设置为原来的一半。【免费下载链接】catlass本项目是CANN的算子模板库提供NPU上高性能矩阵乘及其相关融合类算子模板样例。项目地址: https://gitcode.com/cann/catlass创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关文章:

CANN/catlass分组矩阵乘反量化示例

GroupedMatmulSliceMPerTensorPerChannelDequant Example Readme 【免费下载链接】catlass 本项目是CANN的算子模板库,提供NPU上高性能矩阵乘及其相关融合类算子模板样例。 项目地址: https://gitcode.com/cann/catlass 代码组织 ├── 48_ascend950_group…...

#85_库函数开发

前言 在很久很久很久以前 C 语言和 STM32 走在一条幽静的道路上 他们在一起过上了幸福的生活 一、 问题引入… 1 二、 寄存器的基础概念… 1 三、 STM32 寄存器实例解析… 3 GPIO 输入/输出 → 对应 GPIOx_CRL / GPIOx_CRH / GPIOx_IDR /… 3定时器(Timer&#xff…...

5个简单步骤:OpenCore Legacy Patcher终极指南让老旧Mac焕发新生

5个简单步骤:OpenCore Legacy Patcher终极指南让老旧Mac焕发新生 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否还在为老旧的Mac无法升级到…...

Lobu多租户AI助手网关:安全隔离与规模化部署实践

1. 项目概述:构建企业级多租户AI助手网关 最近在折腾一个挺有意思的开源项目,叫Lobu。简单来说,它解决了一个很实际的问题:如何安全、高效地在一个组织内部署和管理多个独立的AI助手(Agent)。想象一下&…...

Koel下载功能终极指南:批量下载与压缩包生成的完整教程

Koel下载功能终极指南:批量下载与压缩包生成的完整教程 【免费下载链接】koel Music streaming solution that works. 项目地址: https://gitcode.com/gh_mirrors/ko/koel Koel作为一款优秀的个人音乐流媒体解决方案,其强大的下载功能让用户可以轻…...

如何快速掌握加密算法基础:面向初学者的完整指南

如何快速掌握加密算法基础:面向初学者的完整指南 【免费下载链接】Algorithms A collection of algorithms and data structures 项目地址: https://gitcode.com/gh_mirrors/algorithms39/Algorithms 想要快速掌握加密算法基础吗?加密算法是现代计…...

基于MPA的微前端架构:实现技术栈无关与独立部署的现代Web应用方案

1. 项目概述:一个为现代Web应用量身定制的微前端架构如果你正在为一个大型、多团队协作的Web应用寻找一个既能保持技术栈灵活性,又能实现高效集成与独立部署的解决方案,那么mattmezza/mpa这个项目绝对值得你花时间深入研究。它不是一个简单的…...

为什么你需要HolyTips:7个让漏洞赏金狩猎更高效的实用技巧

为什么你需要HolyTips:7个让漏洞赏金狩猎更高效的实用技巧 【免费下载链接】HolyTips A Collection of Notes, Checklists, Writeups on Bug Bounty Hunting and Web Application Security. 项目地址: https://gitcode.com/gh_mirrors/ho/HolyTips 在网络安全…...

深度学习在人工耳蜗中的应用:从语音增强到医学影像分析

1. 项目概述:当深度学习“听见”声音作为一名长期在医疗科技与信号处理交叉领域摸爬滚打的从业者,我见证过太多技术从实验室走向临床的艰难旅程。其中,“深度学习在人工耳蜗应用中的进展”这个话题,尤其让我感到兴奋。它远不止是一…...

CANN基础设施漏洞管理指南

cve-manager(漏洞管理)使用说明 【免费下载链接】infrastructure 本仓库用于托管CANN社区基础设施团队的公开信息,包括不限于:会议日程,成员信息,服务文档和配置等信息 项目地址: https://gitcode.com/ca…...

JAVA基础教学计划【欢迎指点】

学习JAVA,首先要了解Java语言的第一个特性——面向对象。编程语言就像我们现实生活中面对种种情景是一样的,可以说这是属于计算机的世界,我们人来到计算机世界自然要熟悉这个世界构成方式。在现实中,我们认识一件事物,…...

收藏!2026年普通人也能干的5个高薪AI新职业(无需代码,小白也能学)

文章介绍了5个无需编程技能的AI相关职业:AI训练师、AI内容运营、提示词工程师、AI数据标注员和AI销售顾问。这些职业为没有高学历或技术背景的人提供了进入AI行业的机会,强调了学习AI工具和技能的重要性,鼓励人们抓住AI时代的机遇。 2026年&a…...

CANN/ge添加输出API

AddOutput 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端…...

AI赋能边缘计算安全:从联邦学习到异常检测的实战指南

1. 项目概述:当边缘计算遇上AI,安全与隐私的十字路口最近几年,我身边做物联网、车联网和工业互联网项目的朋友,聊得最多的两个词,一个是“边缘计算”,另一个就是“AI”。把AI模型部署到摄像头、网关、工控机…...

AI思维:跨学科协作与负责任AI实践的核心方法论

1. 项目概述:为什么我们需要“AI思维”?如果你最近在尝试将人工智能技术引入你的工作流程,无论是分析市场数据、优化客户服务,,还是辅助科研实验,你很可能已经感受到了某种“割裂感”。工程师团队在讨论模型…...

AI for Science技术路线图:从量子尺度到连续介质的跨学科实践指南

1. 项目概述与核心价值如果你是一位物理化学背景的研究生,正试图用机器学习预测新催化剂的活性,却发现网上资料要么是纯AI教程,要么是深奥的量子化学专著,中间仿佛隔着一道鸿沟——那么,你找对地方了。这就是“AI for …...

在 Taotoken 控制台中如何进行 API Key 的权限管理与审计日志查看

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在 Taotoken 控制台中如何进行 API Key 的权限管理与审计日志查看 对于团队管理员或项目负责人而言,有效管理 API Key …...

量子机器学习新范式:Classiq如何简化QML模型开发

量子机器学习新范式:Classiq如何简化QML模型开发 【免费下载链接】classiq-models The Classiq Library is the largest collection of quantum algorithms and applications. It is the best way to explore quantum computing software. We welcome community con…...

Linux Mem -- 通过reserved-memory缩减内存

目录 1. reserved-memory缩减内存 2. 为什么要通过2段512MB预留内存实现该缩减呢? 3. reserved-momery中的no-map属性 4. 预留的的内存是否会被统计到系统MemTotal中? 本文是解决具体的一些思考总结,和Linux内核的reserved-memory机制相关。 参考代码:Linux-6.10 1. re…...

如何理解KityMinder脑图编辑器的模块化命令系统设计原理 [特殊字符]

如何理解KityMinder脑图编辑器的模块化命令系统设计原理 🧠 【免费下载链接】kityminder 百度脑图 项目地址: https://gitcode.com/gh_mirrors/ki/kityminder KityMinder是一款由百度FEX团队开发的在线脑图编辑工具,它基于SVG技术实现&#xff0c…...

Front-End-Performance-Checklist错误处理终极指南:10个关键性能监控与异常捕获技巧

Front-End-Performance-Checklist错误处理终极指南:10个关键性能监控与异常捕获技巧 【免费下载链接】Front-End-Performance-Checklist 🎮 The only Front-End Performance Checklist that runs faster than the others 项目地址: https://gitcode.co…...

基于LAMP环境的校园论坛项目

目录 1.配置本地仓库: (1)修改主机名为自己姓名全拼 (2)在 /etc/yum.repo.d/ 目录下新建一个仓库文件yum.repo并编写文件内容 (3)光盘挂载到 /mnt 目录下。 (4)验证是否挂载成功。 2.关闭防火墙和SELinux服务 3.安装PHP环境 分别安装php、php-fpm 、php-mysqln…...

mac 安装指定node版本

我这里使用的是nvm(Node Version Manager)nvm(Node Version Manager)是一个允许你在同一台机器上安装和管理多个Node.js版本的工具。1.安装nvm打开终端,然后运行以下命令来安装nvm:bash:curl -o- https://r…...

1-论面向对象的建模及应用

软件系统建模是软件开发中的重要环节,通过构建软件系统模型可以帮助系统开发人员理解系统,抽取业务过程和管理系统的复杂性,也可以方便各类人员之间的交流。软件系统建模是在系统需求分析和系统实现之间架起的一座桥梁,系统开发人员按照软件系统模型开发出符合设计目标的软…...

Unix架构详细介绍

Unix 是一种具有高度模块化和可扩展性的操作系统,其架构设计使其在多用户和多任务环境中表现出色。以下是 Unix 架构的详细介绍,包括其主要组成部分和功能。Unix 架构的组成部分Unix 的架构通常可以分为以下几个主要部分:内核(Ker…...

nmBot Skills技能仓库解析:AI智能体与Telegram群管机器人的标准化桥梁

1. 项目概述:nmBot Skills 技能仓库深度解析如果你正在开发或使用基于大型语言模型的智能体,并且恰好需要一个功能强大的Telegram群组管理机器人,那么你很可能已经听说过nmBot。今天我们不聊nmBot本身,而是聚焦于一个能极大增强其…...

ARM芯片架构之APB,ATB总线

CoreSight SoC-400 APB Interconnect Components 与 ATB Interconnect Components 技术详解(整理版)1. APB Interconnect Components 1.1 概述 CoreSight 调试基础设施通过 AMBA APB3 协议提供对各调试单元寄存器的统一访问。 APB 互连组件负责&#xff…...

CubiFS容器存储备份与恢复:终极完整指南

CubiFS容器存储备份与恢复:终极完整指南 【免费下载链接】cubefs cloud-native distributed storage 项目地址: https://gitcode.com/gh_mirrors/cu/cubefs 在云原生时代,数据安全性和可靠性是企业级存储系统的生命线。CubiFS容器存储备份与恢复机…...

从零开始一天内完成多个AI模型服务对接的Taotoken效率记录

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 从零开始一天内完成多个AI模型服务对接的Taotoken效率记录 在开发一个需要集成多种AI能力的产品原型时,开发者常常面临…...

全球南方AI治理:本地化微调与规则制定的双轨战略

1. 项目概述:一场静水深流的范式转移最近和几位在跨国科技公司做AI政策研究的朋友聊天,大家不约而同地提到了一个现象:过去一年里,来自印度、巴西、尼日利亚、印度尼西亚等“全球南方”国家的技术团队和智库,在AI治理的…...