04 2024 档案

摘要:海光处理器与软件栈 参考文献链接 https://www.hygon.cn/index 阅读全文
posted @ 2024-04-30 03:27 吴建明wujianming 阅读(45) 评论(0) 推荐(0) 编辑
摘要:华为NPU开发流程点滴 NPU/CPU集成操作流程图介绍了App使用HUAWEI HiAI DDK的集成流程。 IR在线模型构建 IR在线模型构建通过IR单算子根据原始模型中的关系级联,配置权重数据,构建IR模型网络。 离线模型转换 离线模型转换需要将Caffe、TensorFlow、ONNX、Mi 阅读全文
posted @ 2024-04-28 03:43 吴建明wujianming 阅读(306) 评论(0) 推荐(0) 编辑
摘要:百度昆仑、华为NPU 为智能计算而生的昆仑芯XPU架构 昆仑芯科技团队于2017年在Hot Chips上发布自研的、面向通用AI计的芯片核心架构——昆仑芯XPU。 集十余年AI加速研发实践,昆仑芯XPU从AI落地的实际需求出发,按照复杂前沿的人工智能场景需求开展迭代, 致力为开发者提供通用、易用、高 阅读全文
posted @ 2024-04-27 04:18 吴建明wujianming 阅读(874) 评论(0) 推荐(0) 编辑
摘要:指令优化:基于大型语言模型的指令算子的进化多目标指令优化 摘要 基于指令的语言建模在预训练的语言模型中受到了极大的关注。 提出了一种指令优化方法,将指令生成视为一个进化的多目标优化问题,利用大型语言模型(LLM)来模拟指令运算符,包括变异和交叉。 此外,为这些运算符引入了一种目标导向机制,使LLM能 阅读全文
posted @ 2024-04-26 04:30 吴建明wujianming 阅读(174) 评论(0) 推荐(0) 编辑
摘要:Auto-Tuning 原理 9.8.1英伟达GPU卷积网络的自动调谐 针对特定设备和工作负载的自动调谐对于获得最佳性能至关重要。本节描述如何为英伟达GPU调谐整个卷积网络。 TVM 中英伟达GPU 的运算符实现是以模板形式编写的。该模板有许多可调旋钮(平铺系数、展开等)。将调谐所有卷积和深度卷积运 阅读全文
posted @ 2024-04-25 03:40 吴建明wujianming 阅读(136) 评论(0) 推荐(0) 编辑
摘要:通用目标近似程序的神经加速 参考文献链接 https://homes.cs.washington.edu/~luisceze/publications/micro12-web.pdf 阅读全文
posted @ 2024-04-24 03:46 吴建明wujianming 阅读(10) 评论(0) 推荐(0) 编辑
摘要:MLIR中的可组合和模块化代码生成 张量编译器结构的结构化可重定目标方法 7.1.1结构化与可重定目标代码生成流程 用于数值计算的代码生成方法传统上侧重于优化循环嵌套的性能。相关分析侧重于标量元素,因为循环嵌套的主体通常计算单个元素。这样的分析必须考虑内存依赖性与重叠。这些方法在过去进行了深入研究, 阅读全文
posted @ 2024-04-23 05:25 吴建明wujianming 阅读(101) 评论(0) 推荐(0) 编辑
摘要:12.1 TPU-MLIR快速入门 12.1.1 TPU-MLIR简介 后文假定用户已经处于docker里面的/workspace目录。 1.编译ONNX模型 以 yolov5s.onnx 为例, 介绍如何编译迁移一个onnx模型至BM1684X TPU平台运行。 该模型来自yolov5的官网: h 阅读全文
posted @ 2024-04-22 04:34 吴建明wujianming 阅读(168) 评论(0) 推荐(0) 编辑
摘要:MLIR一些背景知识 7.1.1背景 随着深度学习技术的发展,深度学习技术也逐渐从学术研究的方向转向了实践应用的方向,这不仅对深度模型的准确率有了较高的需求,也对深度模型的推理速度有了越来越高的需求。 目前深度模型的推理引擎按照实现方式大体分为两类: 1)解释型推理引擎:一般包含一个模型解析器与一个 阅读全文
posted @ 2024-04-21 04:24 吴建明wujianming 阅读(149) 评论(0) 推荐(0) 编辑
摘要:利用MLIR实现矩阵乘法的高性能GPU码生成:一些早期结果 介绍了使用MLIR编译器基础设施在NVIDIA GPU上针对张量核生成代码的一些早期结果。当今高性能深度学习的最先进技术主要是由高度调优的库驱动的。这些库通常是由专业程序员手工优化与调优的,他们使用低级抽象,付出了巨大的努力。对于类似的硬件 阅读全文
posted @ 2024-04-20 04:58 吴建明wujianming 阅读(164) 评论(0) 推荐(0) 编辑
摘要:NPU硬件架构及张量技术开发 NPU 系统介绍 V853 芯片内置一颗 NPU,其处理性能为最大 1 TOPS 并有 128KB 内部高速缓存用于高速数据交换,支持 OpenCL、OpenVX、android NN 与 ONNX 的 API 调用,同时也支持导入大量常用的深度学习模型。 NPU 系统 阅读全文
posted @ 2024-04-19 04:06 吴建明wujianming 阅读(1579) 评论(0) 推荐(0) 编辑
摘要:框架图与动机结构化与可重定目标代码生成 用于数值计算的代码生成方法传统上侧重于优化循环嵌套的性能。相关分析侧重于标量元素,因为循环嵌套的主体通常计算单个元素。这样的分析必须考虑内存依赖性与混叠。这些方法在过去进行了深入研究,并已达到高度成熟。当从像C或Fortran这样的输入语言开始时,它们非常适合 阅读全文
posted @ 2024-04-18 04:34 吴建明wujianming 阅读(33) 评论(0) 推荐(0) 编辑
摘要:TPU-MLIR实现技术详细介绍 TPU-MLIR简介 后文假定用户已经处于docker里面的/workspace目录。 编译ONNX模型 以 yolov5s.onnx 为例, 介绍如何编译迁移一个onnx模型至BM1684X TPU平台运行。 该模型来自yolov5的官网: https://git 阅读全文
posted @ 2024-04-17 05:31 吴建明wujianming 阅读(123) 评论(0) 推荐(0) 编辑
摘要:Toy方言源文件下译、MLIRGen、相关编译操作流程技术 生产MLIR表达式 MLIRGen 模块会遍历 AST,递归调用子函数,构建操作,一个方言中可以有很多的 操作,如图5-2所示。 图5-2 toy源文件到下译、MLIRGen模块、Dialect模块、操作模块的流程 运行./toyc-ch2 阅读全文
posted @ 2024-04-16 05:39 吴建明wujianming 阅读(80) 评论(0) 推荐(0) 编辑
摘要:MLIR中ARM指令SVE、SME的实现方式 1. MLIR基本概念 MLIR(Multi-Level Intermediate Representaion,多级中间表示)是一种用来构建可重用与可扩展编译的新方法。MLIR的设计初衷是为了解决软件碎片化问题,改进异构硬件的编译,显著减少构建特定领域编 阅读全文
posted @ 2024-04-15 04:38 吴建明wujianming 阅读(652) 评论(0) 推荐(0) 编辑
摘要:IREE体系结构介绍 基于MLIR的端到端编译器与运行时,可将ML模型下译到统一的IR,该IR可扩展到数据中心,也可扩展到移动与边缘部署。 中间表示执行环境 IREE关键特性 1)标准与基于社区 A)采用Vulkan、SPIR-V、WebGPU等,与OSS社区合作 2)基于编译 A)使用编译器弥合级 阅读全文
posted @ 2024-04-14 04:05 吴建明wujianming 阅读(529) 评论(0) 推荐(0) 编辑
摘要:下图(run_eval待测模型列表及参数)填写更多不同精度评估方式的命令字符串,比如图中已有imagenet分类与coco检测精度计算字符串;下图(run_eval待测模型列表及参数)中model_list_all填写模型名到参数的映射,比如:resnet18_qat的[0,0],其中第1个参数表示 阅读全文
posted @ 2024-04-13 04:49 吴建明wujianming 阅读(21) 评论(0) 推荐(0) 编辑
摘要:张量编译器结构的结构化可重定目标方法 2.1结构化与可重定目标代码生成的框架图与动机 用于数值计算的代码生成方法传统上侧重于优化循环嵌套的性能。相关分析侧重于标量元素,因为循环嵌套的主体通常计算单个元素。这样的分析必须考虑内存依赖性与混叠。这些方法在过去进行了深入研究,并已达到高度成熟。当从像C或F 阅读全文
posted @ 2024-04-12 05:04 吴建明wujianming 阅读(44) 评论(0) 推荐(0) 编辑
摘要:IREE HLO与MLIR编译器 MLIR(Multi-Level Intermediate Representation)是谷歌团队开发的开源编译器框架,提供了一套灵活的软件基础设施,以便规范中间表达式(IR)及其相互之间的转换,建立了一个友好的编译器开发平台,一些比较好的对MLIR框架解读可以参 阅读全文
posted @ 2024-04-11 04:42 吴建明wujianming 阅读(323) 评论(0) 推荐(0) 编辑
摘要:QAT量化感知训练 基本原理 相比训练后量化因为其不是全局最优而导致的精度损失,QAT量化感知训练能做到基于loss优化的全局最优,而尽可能的降低量化精度损失,其基本原理是:在fp32模型训练中就提前引入推理时量化导致的权重与激活的误差,用任务loss在训练集上来优化可学习的权重及量化的缩放与zp值 阅读全文
posted @ 2024-04-10 04:59 吴建明wujianming 阅读(603) 评论(0) 推荐(0) 编辑
摘要:INT8量化分为非对称量化与对称量化。对称量化是非对称量化的一个特例, 通常对称量化的性能会优于非对称量化, 而精度上非对称量化更优。 非对称量化 如上图所示, 非对称量化其实就是把[min,max]范围内的数值定点到[-128, 127]或者[0, 255]区间。 从int8到float的量化公式 阅读全文
posted @ 2024-04-09 05:34 吴建明wujianming 阅读(163) 评论(0) 推荐(0) 编辑
摘要:从LLVM方言到LLVM IR,再到CodeGen 在中使用 toy 语言接入 MLIR,最终转化为 LLVM IR,具体的流程如下: .toy 源文件 —> AST —> MLIRGen(遍历AST生成MLIR表达式) —> Transformation(变形消除冗余) —> 下译 —> LLVM 阅读全文
posted @ 2024-04-08 05:03 吴建明wujianming 阅读(108) 评论(0) 推荐(0) 编辑
摘要:Codegen方言介绍 主要介绍CodeGen过程中使用的Dialect(方言),以及对设计演变的一些观察。 介绍 对MLIR基础架构中CodeGen进行概述,特别是LLVM项目代码库中可用的部分(upstream或intree)。虽然偶尔会提到LLVM项目代码库之外的MLIR用户,但没有被深入分析 阅读全文
posted @ 2024-04-07 05:09 吴建明wujianming 阅读(76) 评论(0) 推荐(0) 编辑
摘要:MLIR方法图片示例 MLIR 更广泛的社区讨论强调的第二个特征是,典型的量子经典计算编译管道需要多个级别的IR抽象。QIR只代表编译器降低流水线中的一个抽象级别,它实际上是量子计算机物理控制所需转换为模拟脉冲之前的最低机器级别。当然,还有其他抽象层,特别是那些可能更接近程序员和所使用的语言的抽象层 阅读全文
posted @ 2024-04-06 05:38 吴建明wujianming 阅读(58) 评论(0) 推荐(0) 编辑
摘要:MLIR中间表示和编译器框架 背景 随着深度学习技术的发展,深度学习技术也逐渐从学术研究的方向转向了实践应用的方向,这不仅对深度模型的准确率有了较高的需求,也对深度模型的推理速度有了越来越高的需求。 目前深度模型的推理引擎按照实现方式大体分为两类: 解释型推理引擎:一般包含一个模型解析器和一个模型解 阅读全文
posted @ 2024-04-05 05:11 吴建明wujianming 阅读(189) 评论(0) 推荐(0) 编辑
摘要:异常编译代码分析 https://lowlevelbits.org/compiling-ruby-part-5/ 调用堆栈、堆栈帧和程序计数器 在程序执行期间,机器维护指向正在执行的指令的指针。它被称为程序计数器(或指令指针)。 当调用一个方法时,程序计数器被设置为被调用函数(被调用者)上的第一条指 阅读全文
posted @ 2024-04-04 04:36 吴建明wujianming 阅读(9) 评论(0) 推荐(0) 编辑
摘要:算子量化精度验证技术 阅读全文
posted @ 2024-04-03 04:10 吴建明wujianming 阅读(15) 评论(0) 推荐(0) 编辑
摘要:MLIR应用技术分析 7.1.MLIR多层编译框架实现全同态加密的讨论 摘要 MLIR是谷歌推出的开源编译框架。基于论文:SyFER-MLIR: Integrating Fully Homomorphic Encryption Into the MLIR Compiler Framework,介绍将 阅读全文
posted @ 2024-04-02 04:31 吴建明wujianming 阅读(816) 评论(0) 推荐(0) 编辑
摘要:ARM指令SVE、SME在MLIR中的实现方式 1. MLIR基本概念 MLIR(Multi-Level Intermediate Representaion,多级中间表示)是一种用来构建可重用和可扩展编译的新方法。MLIR的设计初衷是为了解决软件碎片化问题,改进异构硬件的编译,显著减少构建特定领域 阅读全文
posted @ 2024-04-01 04:40 吴建明wujianming 阅读(282) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示