AI编译器开发指南

您所在的位置:网站首页 ai编译器项目 AI编译器开发指南

AI编译器开发指南

2024-07-13 05:50| 来源: 网络整理| 查看: 265

前言第1章 AI编译器基础1.1AI编译器概述1.1.1AI芯片及其分类1.1.2AI编译器的结构与特征1.2常用AI编译器介绍1.2.1TVM整体架构1.2.2TensorFlow XLA整体架构1.2.3Glow整体架构1.3LLVM编译器基础1.3.1LLVM前端工作流程1.3.2LLVM IR格式和语法1.3.3LLVM后端工作流程1.4GPGPU编译器基础1.4.1GPGPU编译器工作流程1.4.2Clang对CUDA的处理1.4.3GPGPU编译器的IR优化第2章 开源AI编译器实现分析2.1TVM的系统设计2.1.1TVM的图级优化2.1.2TVM的计算与调度2.1.3TVM的自动调优框架2.2TensorFlow XLA的系统设计2.2.1XLA的聚类过程2.2.2XLA的IR设计和编译过程2.2.3开启XLA的方式2.2.4XLA JIT的图优化过程2.2.5XLA JIT的代码生成2.3Glow的系统设计2.3.1Glow的高阶IR2.3.2Glow的低阶IR2.3.3Glow的量化方法2.3.4Glow的后端设计2.4AI编译器特性总结2.4.1AI编译器的多阶IR设计2.4.2AI编译器的前端优化2.4.3AI编译器的后端优化第3章 定制化AI编译器设计与实现3.1定制化AI编译器设计框架3.2TVM的高阶中间表示3.2.1TVM高阶中间表示的表达3.2.2TVM高阶中间表示的数据表示实现3.2.3TVM高阶中间表示的算子实现3.3TVM的低阶中间表示3.3.1TVM低阶中间表示的表达3.3.2TVM代码生成的定制化开发3.3.3TVM运行时的定制化开发3.4TVM的前后端优化3.4.1TVM pass的功能与实现3.4.2TVM的前端优化3.4.3TVM的后端优化第4章 GPGPU编译器后端设计4.1LLVM后端开发流程4.1.1异构计算程序工作流程4.1.2LLVM后端执行流程4.1.3LLVM中的pass及其管理机制4.2指令选择4.2.1指令选择原理与实现方式4.2.2基于SelectionDAG的指令选择4.2.3快速指令选择4.2.4全局指令选择4.3指令调度4.3.1指令调度原理4.3.2LLVM中的指令调度器及其工作过程4.3.3调度pass的定制4.4寄存器分配4.4.1寄存器分配原理4.4.2LLVM寄存器分配4.4.3贪厌寄存器分配实现过程分析第5章 张量核的编程方法与编译器支持5.1沃尔塔、图灵和安培架构特性5.1.1沃尔塔架构特性5.1.2图灵架构特性5.1.3安培架构特性5.2张量核编程方法5.2.1WMMA API及其用法5.2.2CUTLASS中的张量核编程5.3编译器后端对张量核的支持5.3.1wmma PTX指令及其用法5.3.2mma和ldmatrix PTX指令及其用法5.3.3WMMA intrinsic函数定义5.3.4NVPTX后端对wmma PTX指令的支持第6章 AI模型性能分析与编译器优化方法6.1AI模型性能的衡量指标和影响因素6.1.1计算访存比6.1.2算术强度和操作字节比6.1.3内存级并行性和线程束并行性6.2SM占用率及其编程接口6.2.1理论占用率和实际占用率6.2.2理论占用率约束条件分析6.2.3CUDA运行时占用率编程接口6.3基于占用率的指令调度优化6.3.1AMD GPU编程模型和硬件执行模型6.3.2AMDGPU后端的指令调度算法优化第7章 AI芯片软硬件系统接口设计7.1GPGPU软硬件接口设计7.1.1GPGPU主机端编程接口7.1.2内核分派过程7.1.3GPGPU硬件分派过程7.2AI加速器软硬件接口设计7.2.1AI加速器硬件架构7.2.2AI加速器设备软件栈7.3量化技术与实现7.3.1量化技术原理7.3.2算子量化和激活函数量化7.3.3激活函数量化方法参考文献



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3