Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Đề 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
Testimonials (1)
Very interactive with various examples, with a good progression in complexity between the start and the end of the training.