Cảm ơn bạn đã gửi yêu cầu! Một thành viên trong đội ngũ của chúng tôi sẽ liên hệ với bạn ngay lập tức.
Cảm ơn bạn đã gửi đặt chỗ! Một thành viên trong đội ngũ của chúng tôi sẽ liên hệ với bạn ngay lập tức.
Đề cương khóa học
Tính toán GPU và Kiến trúc CUDA
- Sự khác biệt về kiến trúc giữa CPU và GPU
- Mô hình bộ stream multiprocessor của NVIDIA GPU
- Tổng quan mô hình lập trình CUDA
- Tính toán dị hướng và mô hình host-device
Thiết lập Môi trường Phát triển CUDA
- Cài đặt Bộ công cụ CUDA 13.x
- Trình biên dịch NVCC và quy trình xây dựng
- Xác minh môi trường với các truy vấn thiết bị
- Tích hợp IDE và các công cụ phát triển
Viết và Khởi chạy Các Kernel CUDA
- Cú pháp và định danh cho hàm kernel
- Cấu hình khởi chạy và thực thi
- Phép cộng vectơ và các mẫu song song dữ liệu cơ bản
- Macro kiểm tra lỗi CUDA
Cấp bậc Thread CUDA và Mô hình Thực thi
- Tổ chức Grid, block và thread
- Lập chỉ mục thread và tính toán ID toàn cục
- Thực thi Warp và mô hình SIMT
- Sự chiếm dụng và sử dụng tài nguyên
Kiến trúc và Quản lý Bộ nhớ GPU
- Các loại bộ nhớ: global, shared, constant, registers
- Phân bổ và giải phóng bộ nhớ thiết bị
- Chuyển đổi host-to-device và device-to-host
- Bộ nhớ chia sẻ cho hợp tác nội khối
Bộ nhớ Thống nhất và Di chuyển Dữ liệu
- Mô hình bộ nhớ thống nhất và các phân bổ được quản lý
- Di chuyển trang và phân bổ theo nhu cầu
- Lấy trước không đồng bộ với cudaMemPrefetchAsync
- Gợi ý lời khuyên về bộ nhớ cho các mẫu truy cập
Phân tích Hồ sơ Toàn hệ thống với Nsight Systems
- Phân tích dòng thời gian của Nsight Systems
- Xác định các điểm đồng bộ hóa CPU-GPU
- Hình ảnh hóa việc thực thi kernel và chuyển đổi bộ nhớ
- Diễn giải dữ liệu hiệu suất cấp hệ thống
Tối ưu hóa Kernel với Nsight Compute
- Phân tích hồ sơ kernel tương tác của Nsight Compute
- Phân tích thông lượng và băng thông bộ nhớ
- Sử dụng tính toán và thống kê trạng thái warp
- Phân tích hướng dẫn và quy tắc tối ưu hóa
Các Luồng Đồng thời và Thao tác Không đồng bộ
- Các luồng CUDA và mặc định stream
- Chồng chéo thực thi kernel với chuyển đổi dữ liệu
- Đồng bộ hóa luồng và sự kiện CUDA
- Mô hình thiết kế đường ống đa-stream
Xử lý Lỗi và Công cụ Gỡ lỗi
- Mã lỗi API CUDA và chiến lược khôi phục
- Compute-sanitizer để kiểm tra truy cập bộ nhớ
- cuda-gdb để gỡ lỗi kernel
- Các khẳng định và phát hiện lỗi đồng bộ
Quy trình Tối ưu hóa Dựa trên Phân tích Hồ sơ
- Phương pháp luận phân tích hồ sơ lặp đi lặp lại
- Xác định và ưu tiên hóa điểm nghẽn
- Kiểm thử hiệu suất hồi quy
- Tài liệu hóa các quyết định tối ưu hóa
Dự án Ứng dụng Tăng tốc Đầu cuối
- Thiết kế giải pháp tăng tốc GPU hoàn chỉnh
- Tích hợp phân tích hồ sơ trong suốt quá trình phát triển
- Đánh dấu hiệu năng và báo cáo
- Các cân nhắc khi triển khai cho sản xuất
Yêu cầu
- Kỹ năng lập trình C/C++ cơ bản bao gồm các loại biến, vòng lặp, câu lệnh điều kiện, hàm và thao tác mảng
- Quen thuộc với việc biên dịch và chạy chương trình từ dòng lệnh
- Không yêu cầu kinh nghiệm trước về lập trình GPU hoặc CUDA
Đối tượng
- Các nhà phát triển phần mềm và kỹ sư tìm cách tăng tốc các ứng dụng C/C++ với GPU
- Nhà nghiên cứu khoa học và những người làm việc với HPC đang chuyển đổi từ CPU đơn thuần sang tính toán dị hướng
- Trưởng nhóm kỹ thuật đánh giá việc tăng tốc GPU cho các công việc sản xuất
8 Giờ