4. NVIDIA GPU详解navigate_next 4.5. NVLink原理剖析
Quick search
code
Show Source
GitHub
人工智能系统(AISys)
Table Of Contents

Contents:

  • === 一、AI系统概述 ===
    • AI 的历史,现状与发展
    • AI发展驱动力(待更)
    • AI系统全栈架构(待更)
    • AI系统样例(待更)
    • AI系统原则(待更)
    • 大模型的到来(待更)
  • === 二、AI芯片体系结构 ===

Contents:

  • 1. AI 计算体系概述
    • 1.1. 课程内容
    • 1.2. AI计算模式(上)
    • 1.3. AI计算模式(下)
    • 1.4. 关键设计指标
    • 1.5. 核心计算之矩阵乘
    • 1.6. 计算之比特位宽
    • 1.7. AI计算体系总结
  • 2. AI 芯片基础
    • 2.1. CPU 基础
    • 2.2. CPU 指令集架构
    • 2.3. CPU 计算本质
    • 2.4. CPU 计算时延
    • 2.5. GPU 基础
    • 2.6. NPU 基础
    • 2.7. 超异构计算
  • 3. GPU 原理详解
    • 3.1. GPU工作原理
    • 3.2. 为什么 GPU 适用于 AI
    • 3.3. GPU架构与CUDA关系
    • 3.4. GPU架构回顾第一篇
    • 3.5. GPU架构回顾第二篇
  • 4. NVIDIA GPU详解
    • 4.1. TensorCore原理
    • 4.2. TensorCore架构
    • 4.3. TensorCore剖析
    • 4.4. 分布式通信与NVLink
    • 4.5. NVLink原理剖析
    • 4.6. NVSwitch原理剖析
  • 5. 国外 AI 芯片架构
    • 5.1. 特斯拉DOJO架构
    • 5.2. 特斯拉DOJO Core原理
    • 5.3. 特斯拉DOJO存算系统
    • 5.4. 谷歌TPU历史发展
    • 5.5. 谷歌TPUv1脉动阵列
    • 5.6. 谷歌TPUv2训练芯片
    • 5.7. 谷歌TPUv3 POD形态
    • 5.8. 谷歌TPUv4三维互联
  • 6. 国内 AI 芯片架构
    • 6.1. 壁仞产品解读
    • 6.2. 壁仞BR100架构
    • 6.3. 燧原产品与DTU架构
    • 6.4. 寒武纪产品解读
    • 6.5. 寒武纪MLU芯片架构
    • 6.6. 寒武纪MLU架构细节
  • ==== 三、AI编译原理(更新中)

Contents:

  • 1. 传统编译器(DOING)
    • 1.1. 编译器基础介绍 OK
    • 1.2. 传统编译器发展 OK
    • 1.3. GCC编译过程和原理
    • 1.4. LLVM架构设计和原理
    • 1.5. LLVM IR详解
    • 1.6. LLVM前端和优化层
    • 1.7. LLVM后端代码生成
  • 2. AI 编译器
    • 2.1. 为什么需要AI编译器
    • 2.2. AI编译器的发展阶段
    • 2.3. AI编译器的通用架构
    • 2.4. AI编译器挑战与思考
  • 3. 前端优化
    • 3.1. 内容介绍
    • 3.2. 图算 IR
    • 3.3. 算子融合
  • 4. 后端优化
    • 4.1. 内容介绍
    • 4.2. 算子的计算与调度
    • 4.3. 算子手工优化方式
    • 4.4. 算子循环优化
    • 4.5. 指令和内存优化
    • 4.6. Auto-Tuning原理
  • 5. PyTorch2.0 图模式
    • 5.1. PyTorch2.0 特性
    • 5.2. TorchScript 静态图尝试
    • 5.3. FX 与 LazyTensor
    • 5.4. TorchDynamo 获取图
    • 5.5. AOTAutograd 原理
    • 5.6. Dispatch 机制
  • === 四、推理系统&引擎 ===

Contents:

  • 1. 推理系统
    • 1.1. 内容介绍
    • 1.2. 推理系统介绍
    • 1.3. 推理流程全景
    • 1.4. 推理系统架构
    • 1.5. 推理引擎架构(上)
    • 1.6. 推理引擎架构(下)
  • 2. 模型轻量化
    • 2.1. 推理参数了解
    • 2.2. CNN模型小型化(上)
    • 2.3. CNN模型小型化(下)
    • 2.4. Transformer小型化
  • 3. 模型压缩
    • 3.1. 基本介绍
    • 3.2. 低比特量化原理
    • 3.3. 感知量化训练QAT
    • 3.4. 训练后量化PTQ与部署
    • 3.5. 模型剪枝原理
    • 3.6. 知识蒸馏原理
    • 3.7. 知识蒸馏算法
  • 4. 模型转换&优化
    • 4.1. 基本介绍
    • 4.2. 架构与文件格式
    • 4.3. 自定义计算图IR
    • 4.4. 模型转换流程
    • 4.5. 计算图优化策略
    • 4.6. 常量折叠&冗余节点消除
    • 4.7. 算子融合/替换/前移
  • 5. Kernel优化
    • 5.1. Kernel优化架构
    • 5.2. 卷积操作原理
    • 5.3. Im2Col算法
    • 5.4. Winograd算法
    • 5.5. QNNPack算法
    • 5.6. 推理内存布局
    • 5.7. nc4hw4内存排布
    • 5.8. 汇编与循环优化
  • === 五、AI框架核心模块 ===

Contents:

  • 1. AI框架基础(DONE)
    • 1.1. 本章内容
    • 1.2. AI框架作用
    • 1.3. AI框架之争
    • 1.4. 框架编程范式
  • 2. 自动微分(DONE)
    • 2.1. 自动微分
    • 2.2. 什么是微分
    • 2.3. 微分计算模式
    • 2.4. 微分实现方式
    • 2.5. 动手实现自动微分
    • 2.6. 动手实现PyTorch微分
    • 2.7. 自动微分的挑战&未来
  • 3. 计算图(DONE)
    • 3.1. 基本介绍
    • 3.2. 计算图原理
    • 3.3. 计算图与自动微分
    • 3.4. 计算图的调度与执行
    • 3.5. 计算图的控制流实现
    • 3.6. 动态图与静态图转换
    • 3.7. 计算图的挑战&未来
  • ==== 六、大模型训练

Contents:

  • 1. 分布式集群
    • 1.1. 基本介绍
    • 1.2. AI集群服务器架构
    • 1.3. AI集群软硬件通信
    • 1.4. 集合通信原语
    • 1.5. 分布式功能
  • 2. 分布式算法
    • 2.1. 大模型训练挑战
    • 2.2. 大模型算法结构
    • 2.3. 亿级规模大模型
  • 3. 分布式并行
    • 3.1. 基本介绍
    • 3.2. 数据并行
    • 3.3. 张量并行
    • 3.4. MindSpore张量并行
    • 3.5. 流水并行
    • 3.6. 混合并行
    • 3.7. 分布式训练总结

Contents:

  • === 附录(DONE) ===
    • 书写工具(DONE)
    • 书写规范(DONE)
    • 术语表(DONE)
    • 参考链接(DONE)
人工智能系统(AISys)
Table Of Contents

Contents:

  • === 一、AI系统概述 ===
    • AI 的历史,现状与发展
    • AI发展驱动力(待更)
    • AI系统全栈架构(待更)
    • AI系统样例(待更)
    • AI系统原则(待更)
    • 大模型的到来(待更)
  • === 二、AI芯片体系结构 ===

Contents:

  • 1. AI 计算体系概述
    • 1.1. 课程内容
    • 1.2. AI计算模式(上)
    • 1.3. AI计算模式(下)
    • 1.4. 关键设计指标
    • 1.5. 核心计算之矩阵乘
    • 1.6. 计算之比特位宽
    • 1.7. AI计算体系总结
  • 2. AI 芯片基础
    • 2.1. CPU 基础
    • 2.2. CPU 指令集架构
    • 2.3. CPU 计算本质
    • 2.4. CPU 计算时延
    • 2.5. GPU 基础
    • 2.6. NPU 基础
    • 2.7. 超异构计算
  • 3. GPU 原理详解
    • 3.1. GPU工作原理
    • 3.2. 为什么 GPU 适用于 AI
    • 3.3. GPU架构与CUDA关系
    • 3.4. GPU架构回顾第一篇
    • 3.5. GPU架构回顾第二篇
  • 4. NVIDIA GPU详解
    • 4.1. TensorCore原理
    • 4.2. TensorCore架构
    • 4.3. TensorCore剖析
    • 4.4. 分布式通信与NVLink
    • 4.5. NVLink原理剖析
    • 4.6. NVSwitch原理剖析
  • 5. 国外 AI 芯片架构
    • 5.1. 特斯拉DOJO架构
    • 5.2. 特斯拉DOJO Core原理
    • 5.3. 特斯拉DOJO存算系统
    • 5.4. 谷歌TPU历史发展
    • 5.5. 谷歌TPUv1脉动阵列
    • 5.6. 谷歌TPUv2训练芯片
    • 5.7. 谷歌TPUv3 POD形态
    • 5.8. 谷歌TPUv4三维互联
  • 6. 国内 AI 芯片架构
    • 6.1. 壁仞产品解读
    • 6.2. 壁仞BR100架构
    • 6.3. 燧原产品与DTU架构
    • 6.4. 寒武纪产品解读
    • 6.5. 寒武纪MLU芯片架构
    • 6.6. 寒武纪MLU架构细节
  • ==== 三、AI编译原理(更新中)

Contents:

  • 1. 传统编译器(DOING)
    • 1.1. 编译器基础介绍 OK
    • 1.2. 传统编译器发展 OK
    • 1.3. GCC编译过程和原理
    • 1.4. LLVM架构设计和原理
    • 1.5. LLVM IR详解
    • 1.6. LLVM前端和优化层
    • 1.7. LLVM后端代码生成
  • 2. AI 编译器
    • 2.1. 为什么需要AI编译器
    • 2.2. AI编译器的发展阶段
    • 2.3. AI编译器的通用架构
    • 2.4. AI编译器挑战与思考
  • 3. 前端优化
    • 3.1. 内容介绍
    • 3.2. 图算 IR
    • 3.3. 算子融合
  • 4. 后端优化
    • 4.1. 内容介绍
    • 4.2. 算子的计算与调度
    • 4.3. 算子手工优化方式
    • 4.4. 算子循环优化
    • 4.5. 指令和内存优化
    • 4.6. Auto-Tuning原理
  • 5. PyTorch2.0 图模式
    • 5.1. PyTorch2.0 特性
    • 5.2. TorchScript 静态图尝试
    • 5.3. FX 与 LazyTensor
    • 5.4. TorchDynamo 获取图
    • 5.5. AOTAutograd 原理
    • 5.6. Dispatch 机制
  • === 四、推理系统&引擎 ===

Contents:

  • 1. 推理系统
    • 1.1. 内容介绍
    • 1.2. 推理系统介绍
    • 1.3. 推理流程全景
    • 1.4. 推理系统架构
    • 1.5. 推理引擎架构(上)
    • 1.6. 推理引擎架构(下)
  • 2. 模型轻量化
    • 2.1. 推理参数了解
    • 2.2. CNN模型小型化(上)
    • 2.3. CNN模型小型化(下)
    • 2.4. Transformer小型化
  • 3. 模型压缩
    • 3.1. 基本介绍
    • 3.2. 低比特量化原理
    • 3.3. 感知量化训练QAT
    • 3.4. 训练后量化PTQ与部署
    • 3.5. 模型剪枝原理
    • 3.6. 知识蒸馏原理
    • 3.7. 知识蒸馏算法
  • 4. 模型转换&优化
    • 4.1. 基本介绍
    • 4.2. 架构与文件格式
    • 4.3. 自定义计算图IR
    • 4.4. 模型转换流程
    • 4.5. 计算图优化策略
    • 4.6. 常量折叠&冗余节点消除
    • 4.7. 算子融合/替换/前移
  • 5. Kernel优化
    • 5.1. Kernel优化架构
    • 5.2. 卷积操作原理
    • 5.3. Im2Col算法
    • 5.4. Winograd算法
    • 5.5. QNNPack算法
    • 5.6. 推理内存布局
    • 5.7. nc4hw4内存排布
    • 5.8. 汇编与循环优化
  • === 五、AI框架核心模块 ===

Contents:

  • 1. AI框架基础(DONE)
    • 1.1. 本章内容
    • 1.2. AI框架作用
    • 1.3. AI框架之争
    • 1.4. 框架编程范式
  • 2. 自动微分(DONE)
    • 2.1. 自动微分
    • 2.2. 什么是微分
    • 2.3. 微分计算模式
    • 2.4. 微分实现方式
    • 2.5. 动手实现自动微分
    • 2.6. 动手实现PyTorch微分
    • 2.7. 自动微分的挑战&未来
  • 3. 计算图(DONE)
    • 3.1. 基本介绍
    • 3.2. 计算图原理
    • 3.3. 计算图与自动微分
    • 3.4. 计算图的调度与执行
    • 3.5. 计算图的控制流实现
    • 3.6. 动态图与静态图转换
    • 3.7. 计算图的挑战&未来
  • ==== 六、大模型训练

Contents:

  • 1. 分布式集群
    • 1.1. 基本介绍
    • 1.2. AI集群服务器架构
    • 1.3. AI集群软硬件通信
    • 1.4. 集合通信原语
    • 1.5. 分布式功能
  • 2. 分布式算法
    • 2.1. 大模型训练挑战
    • 2.2. 大模型算法结构
    • 2.3. 亿级规模大模型
  • 3. 分布式并行
    • 3.1. 基本介绍
    • 3.2. 数据并行
    • 3.3. 张量并行
    • 3.4. MindSpore张量并行
    • 3.5. 流水并行
    • 3.6. 混合并行
    • 3.7. 分布式训练总结

Contents:

  • === 附录(DONE) ===
    • 书写工具(DONE)
    • 书写规范(DONE)
    • 术语表(DONE)
    • 参考链接(DONE)

4.5. NVLink原理剖析¶

待更新中,卷的不行了卷得不行了!ZOMI 一个人晚上下班后才能更新视频和文章,如果您有兴趣也非常希望您能够参与进来(Github Issues 区留言或者B站私信ZOMI哦),一起写AI系统,一起分享AI系统的知识。

4.5.1. 本节视频¶

Table Of Contents

  • 4.5. NVLink原理剖析
    • 4.5.1. 本节视频
Previous
4.4. 分布式通信与NVLink
Next
4.6. NVSwitch原理剖析