Liên hệ với chúng tôi
 Thời gian kéo dài 8 Giờ họ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

Số người tham gia


Giá cho mỗi học viên

Các khóa học sắp tới

Các danh mục liên quan