课程大纲

介绍

  • 什么是GPU编程?
  • 为什么要在Python中使用CUDA?
  • 关键概念:线程、区块、网格

CUDA功能与架构概述

  • GPU与CPU架构的比较
  • 理解SIMT(单指令多线程)
  • CUDA编程模型

设置开发环境

  • 安装CUDA工具包与驱动程序
  • 安装Python与Numba
  • 设置与验证环境

并行Programming基础

  • 并行执行介绍
  • 理解线程与线程层次结构
  • 处理warp与同步

使用Numba编译器

  • Numba介绍
  • 使用Numba编写CUDA核心
  • 理解@cuda.jit装饰器

构建自定义CUDA核心

  • 编写与启动基本核心
  • 使用线程进行逐元素操作
  • 管理网格与区块维度

记忆体Management

  • GPU记忆体类型(全局、共享、本地、常量)
  • 主机与设备之间的记忆体传输
  • 优化记忆体使用与避免瓶颈

GPU加速的高级主题

  • 共享记忆体与同步
  • 使用流进行异步执行
  • 多GPU编程基础

将基于CPU的应用程式转换为GPU

  • 分析CPU代码
  • 识别可并行化的部分
  • 将逻辑移植到CUDA核心

疑难排解

  • 调试CUDA应用程式
  • 常见错误与解决方法
  • 测试与验证的工具与技巧

总结与下一步

  • 关键概念回顾
  • GPU编程的最佳实践
  • 持续学习的资源

要求

  • Python 程式设计经验
  • 具备 NumPy 使用经验(如 ndarrays、ufuncs 等)

观众

  • 开发者
 14 小时

客户评论 (1)

即将举行的公开课程

课程分类