学习针对NVIDIA Hopper GPU的CUDA编程技术。

我们刚刚在freeCodeCamp.org的YouTube频道上发布了一门课程,该课程将教你如何构建高效的WGMMA计算流程,并利用Cutlass优化技术来执行那些支撑现代人工智能发展的大规模矩阵乘法运算。

除了单芯片性能之外,这门课程还涵盖了多GPU扩展技术以及训练万亿参数模型所需的NCCL基础功能。要想充分利用这些学习内容,你需要具备扎实的C++语法知识和线性代数基础,尤其是了解矩阵是如何被分割并进行乘法运算的。

以下是这门课程的所有章节内容:

  • 课程介绍

  • 目录与课程概览

  • 第1课 — H100 Hopper GPU架构

  • H100技术规格:HBM3内存、带宽与功耗

  • Tensor核心概述

  • Tensor内存加速器(TMA)

  • Transformer引擎

  • L2缓存架构

  • GPC、TPC与SM布局结构

  • 线程块组织方式

  • 分布式共享内存机制

  • SM子分区(SMSP)结构

  • Warp调度器与数据分发单元

  • 共享内存与数据传输技术

  • 资源利用率优化

  • 第2课 — 线程块集群、数据类型、内联PTX代码及指针操作

  • 线程块编程技巧

  • 集群维度配置方法

  • 内联PTX汇编语言

  • 状态空间概念

    PTX中的数据类型

    通用指针的使用方法

    地址空间转换技巧

  • 第3课 — 异步编程与同步屏障机制

  • 异步操作简介

  • 代理对象在异步编程中的作用

  • Fence屏障与内存排序规则

    Fence屏障的排序方式与可见性原理

    Fence屏障的作用范围

    获取屏障与释放屏障的操作

  • 预期计数值与线程执行顺序

  • M型屏障及相关操作指令

    屏障等待机制

    相位控制与奇偶校验机制

    提交操作流程

  • 第4课 — CuTensorMap描述符的使用方法

  • 张量形状、步长与数据类型

    元素步长与维度计算

    数据块的大小与排列方式

    内存银行冲突问题及其解决方法

    数据交换技巧与公式解析

    交错布局结构的设计原理

    越界数据填充处理方法

  • 第5课 — 使用TMA进行异步批量数据复制

  • 批量张量运算(1D至5D维度)

    多播通信技术应用

    预取机制在数据处理中的作用

  • 第6课 — WGMMA编程基础(第一部分:Warp组矩阵乘法与累加操作)

  • Warp组与矩阵乘法运算原理

    WGMMA描述符的配置方法

    累加器的设计及寄存器重用技巧

    缩放因子(Scale D、Scale A、Scale B)的作用

    核心矩阵与16×16数据块的结构

  • 第7课 — WGMMA编程基础(第二部分)

  • 提交组与等待组的概念与应用

    使用FP8数据类型进行WGMMA运算

  • 第8课 — 内核函数设计技巧

  • 计算密集型内核与内存密集型内核的区别

    Warp级别的优化方法

    协作式流水线与乒乓式流水线的区别

    流水线编程的基本原理

    循环缓冲区的使用方法

    乒乓式流水线的深入分析

    流水线中的异常处理机制

    持久性调度策略

    Split-K与Stream-K调度算法

    数据并行性驱动下的瓦片级调度技术

    融合运算环节的设计(偏置值计算、激活函数应用、缩放操作)

    各类运算操作的概述

    CUTLASS源代码解析

    主循环结构与调度策略

    数据分发机制的实现原理

    SM90瓦片调度器的设计细节

    SM90中的特殊优化技术(TMA与Warp级优化)

    SM90构建模块的工作原理

    Collective构建模块的功能与应用

    FAST.CU内核函数的实现过程

    主循环的具体实现方式

    生产者Warp组与消费者Warp组的结构设计

    程序的前置处理阶段

  • 多GPU编程技术——第一部分

  • NVSwitch技术简介

    拓扑结构与系统架构

    NVSwitch、BlueField DPU及存储系统之间的协同工作原理

    CUDA中的点对点通信技术

    MPI(消息传递接口)的应用

    P2P通信技术的局限性与权衡因素

  • 多GPU编程技术——第二部分

  • SLURM资源分配机制

    PMIx进程管理技术

    NCCL(NVIDIA集体通信库)的功能与应用

    NCCL的内部工作机制与环形算法原理

    AllReduce操作流程

    NCCL提供的集合运算函数:Broadcast、AllGather、ReduceScatter

    并行性优化策略:数据并行性、张量并行性、流水线并行性及专家级并行性

    课程总结与后续学习建议

您可以在 freeCodeCamp.org 的 YouTube 频道上观看该课程,该课程可以随时观看,没有时间限制。

Comments are closed.