联系我们

课程大纲

GPU计算与CUDA架构

  • CPU与GPU架构差异
  • NVIDIA GPU流式多处理器模型
  • CUDA编程模型概述
  • 异构计算及主机-设备范式

设置CUDA开发环境

  • 安装CUDA Toolkit 13.x
  • NVCC编译器及构建工作流
  • 通过设备查询验证环境
  • IDE集成及开发工具

编写与启动CUDA内核

  • 内核函数语法及限定符
  • 启动配置与执行
  • 向量加法及基本数据并行模式
  • CUDA错误检查宏

CUDA线程层次结构与执行模型

  • 网格、块和线程的组织
  • 线程索引与全局ID计算
  • Warp执行及SIMT模型
  • 占用率与资源利用率

GPU内存架构与管理

  • 内存类型:全局、共享、常量和寄存器内存
  • 分配与释放设备内存
  • 主机到设备及设备到主机的数据传输
  • 用于块内协作的共享内存

统一内存与数据迁移

  • 统一内存模型及托管分配
  • 页面迁移与按需分页
  • 使用cudaMemPrefetchAsync进行异步预取
  • 针对访问模式的内存建议提示

使用Nsight Systems进行系统级剖析

  • Nsight Systems时间线分析
  • 识别CPU-GPU同步点
  • 可视化内核执行与内存传输
  • 解读系统级性能数据

使用Nsight Compute进行内核优化

  • Nsight Compute交互式内核剖析
  • 内存吞吐量与带宽分析
  • 计算利用率与Warp状态统计
  • 引导式分析与优化规则

并发流与异步操作

  • CUDA流及默认流
  • 内核执行与数据传输的重叠
  • 流同步与CUDA事件
  • 多流管道设计模式

错误处理与调试工具

  • CUDA API错误代码与恢复策略
  • 使用Compute-sanitizer进行内存访问检查
  • 使用cuda-gdb进行内核调试
  • 断言与同步错误检测

基于剖析的优化工作流

  • 迭代式剖析方法
  • 瓶颈识别与优先级排序
  • 性能回归测试
  • 记录优化决策

端到端加速应用项目

  • 设计完整的GPU加速解决方案
  • 在开发过程中集成剖析
  • 性能基准测试与报告
  • 生产环境的部署考量

要求

  • 具备基本的C/C++编程能力,包括变量类型、循环、条件语句、函数和数组操作
  • 熟悉从命令行编译和运行程序
  • 无需GPU或CUDA编程经验

目标学员

  • 寻求利用GPU加速C/C++应用的软件开发人员和工程师
  • 正在从纯CPU计算转向异构计算的科学研究人员和高性能计算(HPC)从业者
  • 评估生产工作负载中GPU加速的技术负责人
 8 小时

即将举行的公开课程

课程分类