课程培训
GPU编程与加速计算培训大纲

GPU编程与加速计算培训大纲

一、课程简介

本课程旨在系统培养具备GPU并行计算能力的专业人才,使学员掌握从GPU架构原理到高性能算法实现的完整技能栈。课程融合理论讲解与动手实践,通过完全配置的云端GPU实验环境,让学员在真实的开发场景中学习CUDA编程、性能优化和并行算法设计。课程内容涵盖GPU硬件架构、CUDA编程模型、内存层次结构、并行算法模式、性能分析工具及多GPU编程等核心模块,帮助学员将现有的CPU应用程序迁移到GPU平台,获得显著的性能加速。

二、培训目标

  • 理解GPU硬件架构与并行计算模型,掌握线程层次结构与执行模型

  • 掌握CUDA编程语言(C++/Python)的核心语法与编程模型

  • 能够编写、编译和调试基本的GPU加速程序

  • 熟练运用CUDA库(cuBLAS、cuFFT等)加速常见计算任务

  • 掌握内存优化技术,包括全局内存合并访问、共享内存使用

  • 学会使用Nsight Systems等性能分析工具识别和消除性能瓶颈

  • 理解并发CUDA流和异步执行机制,实现计算与数据传输重叠

  • 掌握多GPU编程基础和分布式并行计算初步

  • 具备将实际应用移植到GPU平台的工程能力

  • 通过课程考核获得NVIDIA DLI官方培训证书

三、培训对象

  • 软件开发工程师、高性能计算工程师、算法工程师

  • 希望将应用迁移到GPU平台的科研人员和程序员

  • 对并行计算和GPU编程感兴趣的学生和研究人员

  • 需要利用GPU加速AI/数据分析工作流的数据科学家

  • 企业技术团队中希望提升加速计算能力的骨干成员

预备知识

  • 基本的C/C++或Python编程能力,熟悉变量、循环、函数和数组操作

  • 了解NumPy使用(针对Python课程)

  • Linux基本命令行操作经验

  • 无需前期CUDA编程经验

四、课程大纲

模块一:GPU架构与并行计算基础

  • GPU加速计算概述:从图形处理到通用计算的发展历程

  • GPU硬件架构:流多处理器、CUDA核心、内存层次结构

  • CPU与GPU的异构计算模型:主机与设备、数据传输

  • 并行计算基础:数据并行、任务并行、加速比与阿姆达尔定律

  • CUDA编程模型概述:内核函数、线程层次、执行配置

  • 动手实验:第一个CUDA程序(向量加法)

模块二:CUDA编程基础

  • CUDA开发环境搭建:编译器、工具链、云端实验环境配置

  • 内核函数编写与启动:__global__声明、执行配置语法

  • 线程层次结构:网格、线程块、线程的索引计算

  • 内置变量:threadIdx、blockIdx、blockDim、gridDim

  • 主机与设备内存管理:cudaMalloc、cudaMemcpy、cudaFree

  • 错误处理机制:检查CUDA运行时错误

  • 矩阵乘法实现(基础版):理解线程到数据的映射

  • 动手实验:实现矩阵乘法的GPU版本

模块三:CUDA Python编程(选学)

  • Numba CUDA简介:Python中的GPU编程

  • @cuda.jit装饰器与内核函数编写

  • 使用几行代码加速NumPy ufuncs

  • CUDA Python中的线程层次配置

  • 动手实验:加速线性代数程序的Python实现

模块四:GPU内存优化技术

  • CUDA内存层次结构:全局内存、共享内存、寄存器、本地内存

  • 全局内存合并访问:内存事务合并原理与实践

  • 共享内存应用:线程块内数据共享、存储体冲突避免

  • 常量内存与纹理内存:只读数据的优化存储

  • 内存分配策略:固定内存、零拷贝内存、统一内存

  • 动手实验:利用共享内存优化矩阵乘法

  • 动手实验:内存访问模式分析及优化

模块五:并行算法设计与实现

  • 并行规约算法:树形规约、线程发散优化

  • 并行扫描(前缀和)算法:Kogge-Stone与Brent-Kung

  • 并行排序:基数排序、双调排序

  • 直方图计算:原子操作与共享内存原子

  • 并行模式库:CUB原语使用

  • 动手实验:实现高性能并行规约

模块六:CUDA库与工具链

  • cuBLAS线性代数库:矩阵运算加速

  • cuFFT快速傅里叶变换库

  • cuRAND随机数生成库

  • Thrust模板库:STL风格的GPU算法

  • cuSPARSE稀疏矩阵运算库

  • 动手实验:使用cuBLAS加速矩阵运算

模块七:性能分析与调试

  • NVIDIA Nsight Systems:系统级性能分析

  • NVIDIA Nsight Compute:内核级性能剖析

  • 性能瓶颈识别:计算边界、内存边界、延迟隐藏

  • CUDA事件API:精确计时方法

  • 调试工具:cuda-gdb、计算错误检查

  • 动手实验:使用Nsight分析优化CUDA代码

模块八:异步执行与流并发

  • CUDA流概念:默认流与非默认流

  • 数据传输与内核执行重叠:双缓冲技术

  • 流优先级与流回调

  • 事件同步与依赖管理

  • 多流并发:最大化GPU利用率

  • 动手实验:实现计算与传输重叠

模块九:多GPU与分布式并行

  • 多GPU系统架构:PCIe、NVLink、NVSwitch

  • 多GPU编程模型:设备选择、点对点访问

  • 基于MPI的多GPU编程

  • NCCL通信库:多GPU集体通信

  • NVSHMEM共享内存编程模型

  • 动手实验:多GPU矩阵乘法实现

模块十:综合项目实战与优化

  • 项目选题:从CPU应用移植到GPU平台

  • 性能目标设定与基准测试

  • 并行化策略设计与实现

  • 迭代优化:内存访问优化、流并发、库替换

  • 最终性能评估与报告编写

  • 项目展示与评审





如果您想学习本课程,请预约报名
如果没找到合适的课程或有特殊培训需求,请订制培训
除培训外,同时提供相关技术咨询与技术支持服务,有需求请发需求表到邮箱soft@info-soft.cn,或致电4007991916
技术服务需求表点击在线申请

服务特点:
海量专家资源,精准匹配相关行业,相关项目专家,针对实际需求,顾问式咨询,互动式授课,案例教学,小班授课,实际项目演示,快捷高效,省时省力省钱。

专家力量:
中国科学院软件研究所,计算研究所高级研究人员
oracle,微软,vmware,MSC,Ansys,candence,Altium,达索等大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关技术专业,理论素养丰富
多年实际项目经历,大型项目实战案例,热情,乐于技术分享
针对客户实际需求,案例教学,互动式沟通,学有所获
报名表下载
联系我们 更多>>

咨询电话010-62883247

                4007991916

咨询邮箱:soft@info-soft.cn  

 

  微信咨询

随时听讲课

聚焦技术实践

订制培训 更多>>