感谢您发送咨询!我们的团队成员将很快与您联系。
感谢您发送预订!我们的团队成员将很快与您联系。
课程大纲
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 小时