体系定位:本课程是高性能计算与实时图形渲染工程师的核心能力矩阵,面向具备C++编程基础与计算机体系结构认知的并行计算入门开发者、图形渲染工程师、高性能计算算法专家及人工智能推理优化工程师。课程完整覆盖从GPU硬件架构→并行编程模型→并行算法设计→领域加速计算→图形渲染优化→高性能计算库的全链路技术栈,每个技术模块均绑定主流工业级/开源软件工具,帮助学员建立从原理认知到工程落地的完整能力闭环。学员可根据自身技术方向与职业目标,自主选修任一专题,各专题独立成章。
培训目标:帮助学员深入理解现代GPU的硬件微架构、线程调度机制、内存层次体系及SIMT执行模型,建立“算法-架构”协同优化的思维框架,为后续并行编程与性能调优奠定坚实的硬件认知基础。
|
模块 |
主要培训内容 |
软件工具 |
|
GPU硬件架构演进 |
流式多处理器/计算单元、线程束/波前、调度器与发射端口、寄存器文件、统一内存架构 |
NVIDIA Nsight Compute、AMD ROCm、Intel VTune |
|
线程层次结构 |
网格/线程块/线程、线程束级执行、线程块调度、占用率计算、线程束发散 |
CUDA Occupancy Calculator、Nsight Graphics |
|
内存体系 |
全局内存、共享内存、常量内存、纹理内存、本地内存、寄存器溢出、PCIe与NVLink/CXL |
NVIDIA Nsight Compute、CUDA Memcheck |
|
SIMT执行模型 |
单指令多线程、线程束级执行、分支发散与序列化、谓词执行、指令级并行 |
NVIDIA Nsight Compute、CUDA Binary Utilities |
|
异构计算架构 |
CPU+GPU协同计算模型、主机与设备数据传输、零拷贝访问、统一虚拟寻址 |
CUDA Runtime API、OpenCL ICD |
|
性能分析基础 |
瓶颈识别、内存吞吐量、计算吞吐量、延迟隐藏、Roofline模型 |
NVIDIA Nsight Systems、NVIDIA Nsight Compute |
|
工程实践 |
GPU硬件特性探测、占用率优化实验、内存带宽测试 |
CUDA Samples、Nsight命令行工具 |
前置要求:计算机体系结构基础、C/C++编程
培训目标:使学员系统掌握CUDA并行编程模型的核心抽象与编程接口,精通内核函数设计、线程索引计算、内存层次化访问优化、原子操作与流并发等关键技术,具备独立完成从串行代码到高性能并行内核的迁移与优化能力。
|
模块 |
主要培训内容 |
软件工具 |
|
CUDA编程模型 |
内核函数定义与启动、执行配置、内置变量、主机与设备内存管理 |
CUDA Runtime API、CUDA Driver API |
|
线程索引计算 |
多维网格与线程块映射、线程ID到数据索引的转换、边界处理 |
CUDA C++、NVIDIA Compute Sanitizer |
|
共享内存优化 |
共享内存声明与生命周期、存储体冲突、填充策略、静态/动态分配 |
CUDA C++、Nsight Compute |
|
常量与纹理内存 |
常量内存广播机制、纹理内存缓存特性、表面内存 |
CUDA Texture API、CUDA Surface API |
|
原子操作 |
全局内存原子操作、共享内存原子操作、自定义原子操作、性能权衡 |
CUDA C++ Atomic API |
|
流与事件 |
流创建与销毁、流同步、默认流与非默认流、流优先级、事件计时 |
CUDA Stream API、CUDA Event API |
|
并发执行 |
内核并发执行、数据传输与内核执行重叠、多流调度、MPS服务 |
CUDA Multi-Process Service |
|
错误处理与调试 |
同步/异步错误检查、CUDA-GDB调试、内存错误检测 |
NVIDIA Compute Sanitizer、CUDA-GDB |
|
工程实践 |
矩阵乘法从朴素到优化的完整演进、流并发数据传输与内核执行重叠 |
CUDA Samples + Nsight Systems |
前置要求:专题一、C++模板元编程基础
培训目标:使学员深入理解数据并行算法的设计模式与优化方法论,掌握规约、扫描、排序、矩阵运算、图算法等经典并行算法在GPU上的高效实现策略,具备独立设计复杂并行算法并持续优化迭代的能力。
|
模块 |
主要培训内容 |
软件工具 |
|
并行规约 |
交错寻址与连续寻址、线程束分化优化、共享内存规约、线程块级规约 |
CUDA C++、Thrust、CUB |
|
并行扫描 |
前缀和定义、Kogge-Stone算法、Brent-Kung算法、工作高效扫描、大数组扫描策略 |
CUB、Thrust、Modern GPU |
|
并行排序 |
双调排序、基数排序、合并排序、采样排序、稳定排序实现 |
CUB、Thrust、Modern GPU |
|
矩阵运算 |
矩阵转置、矩阵乘法优化、分块策略、张量化内存访问 |
cuBLAS、CUTLASS、Tensor Core |
|
并行图算法 |
图表示与存储、广度优先搜索、PageRank、单源最短路径、图分割策略 |
Gunrock、NVGRAPH、GraphBLAST |
|
稀疏计算 |
稀疏存储格式(CSR/COO/ELL)、稀疏矩阵向量乘、稀疏矩阵矩阵乘 |
cuSPARSE、CUSP、SPARSEKit |
|
归约与扫描进阶 |
线程束级规约、动态并行、内核启动开销优化 |
CUB、CUDA Dynamic Parallelism |
|
工程实践 |
百万级顶点图算法的GPU加速实现与调优 |
Gunrock + Nsight Compute |
前置要求:专题二、数据结构与算法基础
培训目标:使学员系统掌握数字图像处理算法的GPU并行化方法与优化策略,精通卷积滤波、直方图计算、图像金字塔、实时去噪等高吞吐量图像处理任务的CUDA实现技术,具备构建实时图像处理管线的工程能力。
|
模块 |
主要培训内容 |
软件工具 |
|
并行卷积 |
可分卷积、不可分卷积、共享内存缓存、边界处理、步长卷积 |
CUDA C++、NVIDIA Performance Primitives |
|
直方图计算 |
全局内存原子直方图、共享内存原子直方图、直方图细化、多通道直方图 |
NVIDIA Performance Primitives、CUDA Samples |
|
图像金字塔 |
高斯金字塔、拉普拉斯金字塔、下采样与上采样、并行构建策略 |
NVIDIA Performance Primitives、OpenCV CUDA |
|
实时滤波 |
双边滤波、中值滤波、引导滤波、联合双边滤波 |
NVIDIA Performance Primitives、OpenCV CUDA |
|
特征检测加速 |
Harris角点、Canny边缘检测、FAST特征、SIFT GPU实现 |
OpenCV CUDA、ArrayFire |
|
图像转换 |
色彩空间转换、几何变换、仿射变换、透视变换 |
NVIDIA Performance Primitives、OpenCV CUDA |
|
光流计算 |
Lucas-Kanade、Farneback、深度学习光流预处理 |
OpenCV CUDA、NVIDIA Optical Flow SDK |
|
工程实践 |
4K分辨率实时视频处理管线(去噪+增强+特征提取) |
OpenCV CUDA + NVIDIA Performance Primitives |
前置要求:专题二、数字图像处理基础
培训目标:使学员深入理解现代图形渲染管线的GPU执行特征与性能瓶颈,掌握延迟渲染、集群着色、可见性剔除、LOD动态调度等大规模场景渲染优化技术,具备对复杂3D应用进行系统性性能剖析与优化的能力。
|
模块 |
主要培训内容 |
软件工具 |
|
现代渲染管线 |
前向渲染与延迟渲染对比、Tile-Based渲染、分块延迟渲染 |
现代图形API、Nsight Graphics |
|
延迟渲染优化 |
G-Buffer设计与压缩、光照批次合并、材质ID优化、带宽控制 |
现代图形API、RenderDoc |
|
集群着色 |
聚类光源分配、屏幕空间光源平铺、集群索引计算、着色效率分析 |
现代图形API、Nsight Graphics |
|
可见性剔除 |
视锥体裁剪、遮挡剔除、硬件遮挡查询、层次Z缓冲、Hi-Z剔除 |
现代图形API、GPUVis |
|
LOD动态调度 |
几何LOD选择、屏幕空间误差、流式加载、几何图像化 |
现代图形API、Unreal Insights |
|
绘制调用优化 |
实例化绘制、间接绘制、多绘制目标、批处理合并 |
现代图形API、Nsight Graphics |
|
着色器优化 |
着色器复杂度分析、波前/线程束占用、寄存器压力、数学函数近似 |
现代图形API、ShaderPerf |
|
内存与带宽优化 |
纹理压缩、顶点压缩、索引缓冲优化、资源状态转换 |
现代图形API、GPUView |
|
工程实践 |
大规模开放世界场景渲染优化案例完整剖析 |
现代图形API + Nsight Graphics + RenderDoc |
前置要求:现代图形API编程经验、计算机图形学基础
培训目标:使学员系统掌握NVIDIA高性能计算生态核心库的应用方法,理解cuBLAS/cuFFT/Thrust/TensorRT等专业库的接口设计与性能特征,同时建立跨平台并行编程视野,具备在不同硬件平台上选择与集成最优计算库的能力。
|
模块 |
主要培训内容 |
软件工具 |
|
cuBLAS线性代数库 |
矩阵乘法、矩阵分解、特征值求解、批处理运算、自定义核函数集成 |
cuBLAS、cuBLASXt |
|
cuFFT傅里叶变换库 |
一维/二维/三维FFT、实数/复数变换、批处理模式、多GPU执行 |
cuFFT、cuFFTW |
|
Thrust模板库 |
向量容器、算法泛型、自定义算子、CUDA后端与OpenMP后端切换 |
Thrust、CUDA C++ |
|
CUB并行原语库 |
设备级原语、线程块级原语、线程束级原语、自定义算子集成 |
CUB、CUDA C++ |
|
TensorRT推理引擎 |
模型解析、层融合、精度校准、动态形状、插件开发 |
TensorRT、ONNX Runtime |
|
OpenCL跨平台框架 |
平台模型、执行模型、内存模型、内核编程、性能可移植性 |
OpenCL SDK、PoCL |
|
AMD ROCm生态 |
HIP编程模型、rocBLAS、rocFFT、MIOpen、异构计算编译 |
ROCm、HIP、MIOpen |
|
跨平台策略 |
多后端抽象层设计、运行时编译、硬件特性探测 |
OpenCL、SYCL、OneAPI |
|
工程实践 |
基于cuFFT+cuBLAS的雷达成像算法加速、TensorRT模型部署流水线 |
cuFFT + cuBLAS + TensorRT |
前置要求:专题二、线性代数/信号处理基础
|
学员角色 |
建议选修专题 |
核心软件工具链 |
学习目标 |
|
高性能计算入门工程师 |
专题一 + 专题二 |
CUDA C++ + Nsight Compute |
建立GPU并行编程完整认知,掌握内核函数开发与基本优化能力 |
|
并行算法工程师 |
专题二 + 专题三 |
Thrust + CUB + Gunrock |
精通并行规约/扫描/排序/图算法,具备复杂算法GPU加速能力 |
|
计算机视觉/图像处理工程师 |
专题四 + 专题二 |
NVIDIA Performance Primitives + OpenCV CUDA |
掌握图像处理算法GPU加速方法,构建实时视觉处理管线 |
|
游戏引擎/图形渲染工程师 |
专题五 |
现代图形API + Nsight Graphics + RenderDoc |
精通大规模场景渲染优化技术,提升复杂3D应用性能 |
|
AI推理优化工程师 |
专题六(TensorRT) + 专题二 |
TensorRT + ONNX Runtime |
掌握深度学习模型GPU推理优化,实现毫秒级延迟部署 |
|
跨平台并行计算工程师 |
专题六(全模块) |
CUDA + OpenCL + ROCm + SYCL |
建立多厂商硬件平台并行编程视野,具备性能可移植代码开发能力 |
|
科学计算/数值算法工程师 |
专题二 + 专题三 + 专题六(cuBLAS/cuFFT) |
cuBLAS + cuFFT + Thrust |
掌握大规模数值计算GPU加速方法,解决计算科学领域性能瓶颈 |
|
高性能计算架构师 |
全六专题 |
CUDA + 高性能计算库 + 现代图形API + 跨平台框架 |
建立从硬件架构到算法优化、从图形渲染到通用计算的全栈视野 |