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

Giới thiệu

  • ROCm là gì?
  • HIP là gì?
  • ROCm so với CUDA so với OpenCL
  • Tổng quan về các tính năng và kiến trúc của ROCm và HIP
  • ROCm for Windows so với ROCm cho Linux

Cài đặt

  • Cài đặt ROCm trên Windows
  • Xác minh cài đặt và kiểm tra khả năng tương thích của thiết bị
  • Cập nhật hoặc gỡ cài đặt ROCm trên Windows
  • Khắc phục các sự cố cài đặt phổ biến

Bắt đầu

  • Tạo một dự án ROCm mới bằng Visual Studio Code trên Windows
  • Khám phá cấu trúc và tệp dự án
  • Biên dịch và chạy chương trình
  • Hiển thị đầu ra bằng printf và fprintf

API ROCm

  • Sử dụng API ROCm trong chương trình máy chủ
  • Truy vấn thông tin và khả năng của thiết bị
  • Cấp phát và giải phóng bộ nhớ thiết bị
  • Sao chép dữ liệu giữa máy chủ và thiết bị
  • Khởi chạy kernel và đồng bộ hóa luồng
  • Xử lý lỗi và ngoại lệ

Ngôn ngữ HIP

  • Sử dụng ngôn ngữ HIP trong chương trình thiết bị
  • Viết kernel chạy trên GPU và thao tác dữ liệu
  • Sử dụng các kiểu dữ liệu, bộ điều chỉnh, toán tử và biểu thức
  • Sử dụng các hàm, biến và thư viện tích hợp

Mô hình bộ nhớ ROCm và HIP

  • Sử dụng các không gian bộ nhớ khác nhau, chẳng hạn như toàn cục, chia sẻ, hằng số và cục bộ
  • Sử dụng các đối tượng bộ nhớ khác nhau, chẳng hạn như con trỏ, mảng, kết cấu và bề mặt
  • Sử dụng các chế độ truy cập bộ nhớ khác nhau, chẳng hạn như chỉ đọc, chỉ ghi, đọc-ghi, v.v.
  • Sử dụng mô hình nhất quán bộ nhớ và cơ chế đồng bộ hóa

Mô hình thực thi ROCm và HIP

  • Sử dụng các mô hình thực thi khác nhau, chẳng hạn như luồng, khối và lưới
  • Sử dụng các hàm luồng, chẳng hạn như hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x, v.v.
  • Sử dụng các hàm khối, chẳng hạn như __syncthreads, __threadfence_block, v.v.
  • Sử dụng các hàm lưới, chẳng hạn như hipGridDim_x, hipGridSync, nhóm hợp tác, v.v.

Gỡ lỗi

  • Gỡ lỗi các chương trình ROCm và HIP trên Windows
  • Sử dụng trình gỡ lỗi Visual Studio Code để kiểm tra các biến, điểm dừng, ngăn xếp cuộc gọi, v.v.
  • Sử dụng ROCm Debugger để gỡ lỗi các chương trình ROCm và HIP trên các thiết bị AMD
  • Sử dụng ROCm Profiler để phân tích các chương trình ROCm và HIP trên các thiết bị AMD

Tối ưu hóa

  • Tối ưu hóa các chương trình ROCm và HIP trên Windows
  • Sử dụng các kỹ thuật hợp nhất để cải thiện thông lượng bộ nhớ
  • Sử dụng các kỹ thuật bộ nhớ đệm và truy cập trước để giảm độ trễ bộ nhớ
  • Sử dụng bộ nhớ chia sẻ và bộ nhớ cục bộ để tối ưu hóa truy cập bộ nhớ và băng thông
  • Sử dụng các công cụ phân tích và đo lường để đo lường và cải thiện thời gian thực thi và sử dụng tài nguyên

Tóm tắt và Các bước tiếp theo

Requirements

  • Sự hiểu biết về ngôn ngữ C/C++ và các khái niệm lập trình song song
  • Kiến thức cơ bản về kiến trúc máy tính và hệ thống phân cấp bộ nhớ
  • Kinh nghiệm sử dụng các công cụ dòng lệnh và trình soạn thảo mã
  • Làm quen với hệ điều hành Windows và PowerShell

Đối tượng

  • Các nhà phát triển muốn tìm hiểu cách cài đặt và sử dụng ROCm trên Windows để lập trình cho các thiết bị AMD GPU và khai thác tính song song của chúng
  • Các nhà phát triển muốn viết mã có hiệu suất cao và khả năng mở rộng, có thể chạy trên các thiết bị AMD khác nhau
  • Các lập trình viên muốn khám phá các khía cạnh cấp thấp của lập trình GPU và tối ưu hóa hiệu suất mã của họ
 21 Hours

Number of participants


Price per participant

Testimonials (2)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories