GPU Programming with CUDA and Python ( cudapython | 14 hours )

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

观众

  • 开发者
Overview:

CUDA (Compute Unified Device Architecture)是由Nvidia创建的平行计算平台和API。

本课程为讲师指导的培训(线上或线下),适合中级开发者,他们希望使用CUDA来构建Python应用程式,这些应用程式可以在NVIDIA GPU上平行运行。

在本研讨会结束后,参与者将能够:

  • 使用Numba编译器加速在NVIDIA GPU上运行的Python应用程式。
  • 创建、编译并启动自定义的CUDA核心。
  • 管理GPU记忆体。
  • 将基于CPU的应用程式转换为GPU加速的应用程式。

课程格式

  • 互动式讲座与讨论。
  • 大量的练习与实践。
  • 在即时实验室环境中进行实作。

课程定制选项

  • 如需为本课程定制培训,请联系我们进行安排。
Course Outline:

介绍

  • 什么是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编程的最佳实践
  • 持续学习的资源
Sites Published:

United Arab Emirates - GPU Programming with CUDA and Python

Qatar - GPU Programming with CUDA and Python

Egypt - GPU Programming with CUDA and Python

Saudi Arabia - GPU Programming with CUDA and Python

South Africa - GPU Programming with CUDA and Python

Brasil - GPU Programming with CUDA and Python

Canada - GPU Programming with CUDA and Python

中国 - GPU Programming with CUDA and Python

香港 - GPU Programming with CUDA and Python

澳門 - GPU Programming with CUDA and Python

台灣 - GPU Programming with CUDA and Python

USA - GPU Programming with CUDA and Python

Österreich - GPU Programming with CUDA and Python

Schweiz - GPU Programming with CUDA and Python

Deutschland - GPU Programming with CUDA and Python

Czech Republic - GPU Programming with CUDA and Python

Denmark - GPU Programming with CUDA and Python

Estonia - GPU Programming with CUDA and Python

Finland - GPU Programming with CUDA and Python

Greece - GPU Programming with CUDA and Python

Magyarország - GPU Programming with CUDA and Python

Ireland - GPU Programming with CUDA and Python

Israel - GPU Programming with CUDA and Python

Luxembourg - GPU Programming with CUDA and Python

Latvia - GPU Programming with CUDA and Python

España - GPU Programming with CUDA and Python

Italia - GPU Programming with CUDA and Python

Lithuania - GPU Programming with CUDA and Python

Nederland - GPU Programming with CUDA and Python

Norway - GPU Programming with CUDA and Python

Portugal - GPU Programming with CUDA and Python

România - GPU Programming with CUDA and Python

Sverige - GPU Programming with CUDA and Python

Türkiye - GPU Programming with CUDA and Python

Malta - GPU Programming with CUDA and Python

Belgique - GPU Programming with CUDA and Python

France - GPU Programming with CUDA and Python

日本 - GPU Programming with CUDA and Python

Australia - GPU Programming with CUDA and Python

Malaysia - GPU Programming with CUDA and Python

New Zealand - GPU Programming with CUDA and Python

Philippines - GPU Programming with CUDA and Python

Singapore - GPU Programming with CUDA and Python

Thailand - GPU Programming with CUDA and Python

Vietnam - GPU Programming with CUDA and Python

India - GPU Programming with CUDA and Python

Argentina - GPU Programming with CUDA and Python

Chile - GPU Programming with CUDA and Python

Costa Rica - GPU Programming with CUDA and Python

Ecuador - GPU Programming with CUDA and Python

Guatemala - GPU Programming with CUDA and Python

Colombia - GPU Programming with CUDA and Python

México - GPU Programming with CUDA and Python

Panama - GPU Programming with CUDA and Python

Peru - GPU Programming with CUDA and Python

Uruguay - GPU Programming with CUDA and Python

Venezuela - GPU Programming with CUDA and Python

Polska - GPU Programming with CUDA and Python

United Kingdom - GPU Programming with CUDA and Python

South Korea - GPU Programming with CUDA and Python

Pakistan - GPU Programming with CUDA and Python

Sri Lanka - GPU Programming with CUDA and Python

Bulgaria - GPU Programming with CUDA and Python

Bolivia - GPU Programming with CUDA and Python

Indonesia - GPU Programming with CUDA and Python

Kazakhstan - GPU Programming with CUDA and Python

Moldova - GPU Programming with CUDA and Python

Morocco - GPU Programming with CUDA and Python

Tunisia - GPU Programming with CUDA and Python

Kuwait - GPU Programming with CUDA and Python

Oman - GPU Programming with CUDA and Python

Slovakia - GPU Programming with CUDA and Python

Kenya - GPU Programming with CUDA and Python

Nigeria - GPU Programming with CUDA and Python

Botswana - GPU Programming with CUDA and Python

Slovenia - GPU Programming with CUDA and Python

Croatia - GPU Programming with CUDA and Python

Serbia - GPU Programming with CUDA and Python

Bhutan - GPU Programming with CUDA and Python

Nepal - GPU Programming with CUDA and Python