Đề cương khóa học

Giới thiệu

  • GPU lập trình là gì?
  • Tại sao sử dụng CUDA với Python?
  • Những khái niệm chính: Threads, Blocks, Grids

Tổng quan về Đặc điểm và Kiến trúc của CUDA

  • So sánh GPU vs kiến trúc CPU
  • Hiểu rõ SIMT (Single Instruction, Multiple Threads)
  • Phương thức lập trình CUDA

Cài đặt Môi trường Phát triển

  • Cài đặt bộ công cụ và trình điều khiển CUDA
  • Cài đặt Python và Numba
  • Cài đặt và xác minh môi trường

Nền tảng Lập trình Song song Programming

  • Giới thiệu về thực thi song song
  • Hiểu rõ các thread và hệ thống phân cấp của chúng
  • Làm việc với warps và đồng bộ hóa

Làm việc với Biên dịch Numba

  • Giới thiệu về Numba
  • Viết kernel CUDA với Numba
  • Hiểu rõ các @cuda.jit decorators

Xây dựng Kernel CUDA Tùy chỉnh

  • Viết và khởi chạy kernel cơ bản
  • Sử dụng thread cho các phép toán theo phần tử
  • Quản lý kích thước của grid và block

Bộ nhớ Management

  • Các loại bộ nhớ GPU (toàn cục, chia sẻ, cục bộ, hằng số)
  • Chuyển đổi bộ nhớ giữa host và thiết bị
  • Tối ưu hóa việc sử dụng bộ nhớ và tránh điểm nghẽn

Các Chủ đề Nâng cao về Tăng tốc GPU

  • Bộ nhớ chia sẻ và đồng bộ hóa
  • Sử dụng streams cho thực thi bất đồng bộ
  • Cơ bản của lập trình đa-GPU

Chuyển đổi Ứng dụng dựa trên CPU sang GPU

  • Phân tích mã CPU
  • Xác định các đoạn có thể song song hóa
  • Di chuyển logic vào kernel CUDA

Công tác Xử lý Sự cố

  • Bugfixing ứng dụng CUDA
  • Lỗi phổ biến và cách giải quyết chúng
  • Các công cụ và kỹ thuật để kiểm tra và xác minh

Tóm tắt và Bước Tiếp theo

  • Đánh giá lại các khái niệm chính
  • Những thực hành tốt trong lập trình GPU
  • Tài nguyên cho việc học tiếp tục

Requirements

  • Python kinh nghiệm lập trình
  • Kinh nghiệm với NumPy (mảng ndarrays, ufuncs, v.v.)

Đối tượng

  • Nhà phát triển
 14 Hours

Number of participants


Price per participant

Testimonials (1)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories