GPU高级调试与优化(2025上海站)

2025

GPU

上海站

e68a0614b4ac9ccc2338328a258a8054.jpeg

GPU高级调试与优化

AI技术的高速发展让GPU红的如火如荼,而且这种趋势还在扩张,3D、计算机视觉、VR/AR、视频编解码等GPU应用百花齐放。但是从系统架构来看,GPU依然还处于外设的地位,还没有摆脱从属身份。因为这个根本特征,对GPU编程并不像对CPU编程那样直接,而调试和优化GPU软件的难度就更大了,要比CPU复杂很多。

本研习班直面如何提高GPU工作效率这一目标,从硬件结构、软件接口和工具三个维度螺旋推进,深度解析驾驭现代GPU所需的关键知识和工具。硬件方面,以NVIDIA的特斯拉系列为重点,兼顾AMD、INTEL和ARM的产品做横向比较。软件方面,覆盖硬件指令(SASS)、中间指令(PTX)、编程模型(CUDA、OpenCL、OpenVX、DirectX和OpenGL)、驱动模型(DRM和WDDM)和工具三个层面。具体由以下10个主题和6个动手试验组成。

THIS ISGPU高级调试与优化

TIME 时间

2025年3月7日 - 3月9日

ADDRESS 地点

Shanghai 上海

eab4cf3e8af2fd25d94e0e16b7d65a16.jpeg

课程形式

  • 讲解

  • 实战演练

  • 讨论点评

培训对象

  • 使用GPU进行通用计算和图形加速的软件工程师(开发和测试)、技术经理和科研人员。

预备知识

  • C语言

  • Linux系统基本命令

课程大纲

序言(0.5h)

为加速而生

课程要点/ KEY POINTS

硬件加速、从可配置到可编程、ASIC、G80、GPGPU、John Nickolls、Brook和CUDA、GPU的四大功能模块。

7125f2818ae6ebce8a9a89148bdf08ec.png

第一部分(1.5h) 

在CUDA-GDB中理解CUDA

课程要点/ KEY POINTS

CUDA简要历史、CUDA的C扩展、kernel函数、WARP、CUDA的线程组织、准备调试环境、单GPU调试和多GPU调试、远程调试、nvcc、-G和-g选项、附加到已经运行的进程、启用kernel初始断点(break on launch)、观察源代码和汇编指令、设置断点、单步跟踪、条件断点、观察CUDA的内建变量、PTX指令集、理解WARP、grid、block和thread、Grid-Stride Loops、观察GPU线程、观察GPU的调用栈、观察GPU的寄存器、观察错误信息、从GPU上打印信息。

试验1

编译和观察简单的CUDA程序

编译一个简单的CUDA程序、使用CUDA SDK中的二进制工具观察其内容、理解CUDA的编译过程和程序文件格式。

试验2

改进和调试向量乘法程序

使用CUDA技术编写一个做向量乘法的小程序、理解如何向kernel函数传递参数和传回计算结果。

试验3

学习CUDA-GDB的基本用法

调试一个简单CUDA程序、练习常用的CUDA-GDB扩展命令、理解CUDA编程的关键概念。

第二部分(1.5h)

NVIDIA GPU微架构

课程要点/ KEY POINTS

三大系类、历代微结构(Fermi、Kepler、Maxwell、Pascal、Volta、Truing、Ampere、Hopper、Lovelace)、从SIMD到SIMT、warp、SM(Streaming Multiprocessors)、GigaThreads调度器、ECC支持、第三代SM、Hyper-Q、Grid Management Unit(GMU)、SMX、动态并行、Maxwell微架构、SMM、指令缓存、WARP调度器、指令分发单元、Pascal微架构、伏特微架构、Tensor Core、软件仿真(GPUSim)。

e531580dd9d20b4e2fffdcd89c73d243.jpeg

第三部分(1.5h)

PTX指令集和PTX编程入门

课程要点/ KEY POINTS

PTX源文件、nvcc -ptx、PTX汇编器(ptxas)、预处理指令、注释、标号、指令语句、基本指令格式、常量、寄存器、缓存和共享内存、状态空间、寄存器、变量和数组、张量和多维矩阵。

试验4

编写PTX程序

使用nvcc -ptx产生PTX文件、理解CU代码和PTX指令的对应关系、使用PTX指令编写大矩阵乘法程序、使用ptxas进行编译。

第四部分(1.5h)

PTX高级编程

课程要点/ KEY POINTS

显式并行、CTA、cluster和grid、Warp内共享程序指针和独立调度、特殊寄存器、消除分支和谓词执行、线程之间同步、栈、从栈上动态分配内存。

第五部分(1.5h)

使用Nsight调试CUDA程序

课程要点/ KEY POINTS

Nsight简介、安装和设置环境信息、在VS中编译CUDA程序、产生调试信息(-G)、本地调试模型、Nsight Monitor、设置断点、观察变量、在Cuda Info窗口中观察计算状态、WarpWatch、调用栈、源代码跟踪、PTX/SASS汇编调试、数据断点、API Trace、OpenCL kernel追踪、产生GPU转储(core dump)。

90d789f6f201c31c0cd459a4e42cafdc.png

试验5

使用Nsight调试CUDA程序

在VS中编译和调试一个典型的并行计算程序、熟悉Nsight提供的常用调试功能、包括产生调试信息、建立调试会话、设置各种断点、观察源代码和变量、单步跟踪等。

第六部分(1.5h)

显存锥鉴

课程要点/ KEY POINTS

系统架构、内存映射、PCI Aperture、GART、GTT、访问主内存、 UVA/UMA、Batch Buffer、CUDA中的内存类型、内存共享、内存复制、使用本地共享内存(shared memory)、使用CUDA memory checker检查内存问题(越界访问)、使用Nsight的内存调优功能。

第七部分(1.5h)

驱动程序和软件栈

课程要点/ KEY POINTS

DX和WDDM、UMD、KMD和DX运行时、DRM、GEM和KMS、启用DRM的调试功能、NVIDIA的GPU驱动、社区版本(Nouveau)、半开源版本、开源版本的局限。

第八部分(1.5h)

使用CUDA profiler优化CUDA程序

课程要点/ KEY POINTS

测量GPU的时间、nvprof、命令行选项、指定收集范围、定义输出目标、Visual Profiler基础、配置远程目标、导入数据、观察时序图、识别重要事件(CPU缺页、GPU缺页、数据迁移、内存复制)、采样视图、分析热点、源代码和汇编结合分析、Profile API、定义别名、定制标记、创建调优会话。

试验6

使用nvprof和Visual Profiler优化

使用nvprof观察大模型推理程序的执行细节、收集性能数据、在Visual Profiler中进行深入分析、定位热点和瓶颈。

第九部分(1.5h)

与CPU和外存交互

课程要点/ KEY POINTS

收集事件、识别典型问题(从外存加载数据)、GPU/CPU Starvation、CPU/GPU Idle、线程切换、分析线程切换原因、GPUDirect RDMA、GPUDirect Storage、理解DMA、使用Nsight/nvprof定位热点和性能瓶颈、实例演示。

第十部分(1.5h)

使用Mali GPU做大模型推理

课程要点/ KEY POINTS

Mali GPU概要、在AI推理中的应用、微架构演进、内部结构、通用计算执行单元、统一内存、OpenCL Kernel、实例演示(使用OpenCL加速Llama大模型推理)。

讲师介绍

2efdda8b4ee26c3ed6cb9536827a4f5c.png

张银奎

Raymond Zhang

绰号:格蠹老雷

1996年毕业于上海交通大学信息与控制工程系,在软件产业工作20余年,一多半时间在INTEL公司的上海研发中心工作,其中五年多工作在INTEL的GPU部门,以调试显卡驱动代码和各类GPU有关的问题为乐。业余时间喜欢写作和参与各类技术会议,发文数百万字,探讨各类软件问题。2015年起获微软全球最有价值技术专家(MVP)奖励。著有《软件调试》、《格蠹汇编》和《软件简史》,曾经主笔《程序员》杂志调试之剑专栏 。在多家跨国公司历任开发工程师、软件架构师、开发经理、项目经理等职务,对 IA-32 架构、操作系统内核、驱动程序、虚拟化技术、云计算、软件调优、尤其是软件调试有较深入研究。

从2005年开始公开讲授“Windows内核及高级调试”课程,曾在微软的Webcast和各种技术会议上做过《Windows Vista内核演进》、《调试之剑》(全球软件战役研究峰会)、《感受和思考调试器的威力》(CSDN SD2.0大会)、《Windows启动过程》、《如何诊断和调试蓝屏错误》、《Windows体系结构——从操作系统的角度》(以上三个讲座都是微软“深入研究Windows内部原理系列”的一部分)等。翻译(合译)作品有《现代x86汇编语言编程》、《21世纪机器人》、《观止——微软创建NT和未来的夺命狂奔》、《数据挖掘原理》、《机器学习》、《人工智能:复杂问题求解的结构和策略》等。

附录1

往届研习班部分照片

c71f6fd301b776c2c89e1c7824d2c466.png

83af8605b00257644a74a38616c3e058.png

35b6a5bcb137a080706938fff23c1466.png

097c1ca0d5dd9bc3af3805c939cd77b0.png

a8253375124d50ebd49cfa7d16662976.png

fef3d504243e5b4da54a4fc4a898d25c.png

9627f3bb68981555392c93d631cbb82b.jpeg

-  左右滑动查看更多  -

附录2

报名或垂询

标准收费

标准收费:6898元 / 每人

优惠条款:开课十日前报名可享九五折优惠。

课程顾问

Lisa

邮箱:lisa.long@nanocode.cn

微信:13801874134

Gary

邮箱:jiali.liu@nanocode.cn

微信:17600723325

公司付款信息

账户名称:格蠹信息科技(上海)有限公司

开户行:招商银行股份有限公司上海浦江镇支行                      

账号:1219 3085 8010 501

-END-

【盛格塾】

正心诚意,格物致知

人文情怀审视软件,以软件技术改变人生

279f4f6b2f0df10eb131ba421dccd71b.png

格友公众号

e8113da90e6432a67bb4d6ed1981f434.png

盛格塾小程序

扫描上方二维码或在微信中搜索“盛格塾”小程序

可以阅读更多文章和有声读物

往期推荐

本地运行DeepSeek大模型

U-BOOT的本地控制台输出

以物为师:苦寻黑屏背后的元凶

举重若轻:U-BOOT真机实战

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值