Liên hệ với chúng tôi

Đề 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ờ

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