Đề 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
  • Thiết lập Môi trường Phát triển

Bắt đầu

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

ROCm API

  • Hiểu vai trò của ROCm API trong chương trình host
  • Sử dụng ROCm API để truy vấn thông tin và khả năng của thiết bị
  • Sử dụng ROCm API để cấp phát và giải phóng bộ nhớ thiết bị
  • Sử dụng ROCm API để sao chép dữ liệu giữa host và thiết bị
  • Sử dụng ROCm API để khởi chạy kernel và đồng bộ hóa thread
  • Sử dụng ROCm API để xử lý lỗi và ngoại lệ

Ngôn ngữ HIP

  • Hiểu vai trò của ngôn ngữ HIP trong chương trình thiết bị
  • Sử dụng ngôn ngữ HIP để 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 HIP
  • Sử dụng các hàm, biến và thư viện tích hợp HIP để thực hiện các tác vụ và hoạt động phổ biến

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

  • Hiểu sự khác biệt giữa mô hình bộ nhớ host và thiết bị
  • Sử dụng các không gian bộ nhớ ROCm và HIP, chẳng hạn như global, shared, constant và local
  • Sử dụng các đối tượng bộ nhớ ROCm và HIP, chẳng hạn như con trỏ, mảng, texture và surface
  • Sử dụng các chế độ truy cập bộ nhớ ROCm và HIP, chẳng hạn như read-only, write-only, read-write, v.v.
  • Sử dụng mô hình nhất quán bộ nhớ ROCm và HIP và các cơ chế đồng bộ hóa

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

  • Hiểu sự khác biệt giữa mô hình thực thi host và thiết bị
  • Sử dụng các thread, block và grid ROCm và HIP để xác định tính song song
  • Sử dụng các hàm thread ROCm và HIP, chẳng hạn như hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x, v.v.
  • Sử dụng các hàm block ROCm và HIP, chẳng hạn như __syncthreads, __threadfence_block, v.v.
  • Sử dụng các hàm grid ROCm và HIP, chẳng hạn như hipGridDim_x, hipGridSync, cooperative groups, v.v.

Gỡ lỗi

  • Hiểu các lỗi và lỗi phổ biến trong các chương trình ROCm và HIP
  • Sử dụng Visual Studio Code debugger để kiểm tra các biến, breakpoint, call stack, 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

  • Hiểu các yếu tố ảnh hưởng đến hiệu suất của các chương trình ROCm và HIP
  • Sử dụng các kỹ thuật coalescing ROCm và HIP để cải thiện thông lượng bộ nhớ
  • Sử dụng các kỹ thuật caching và prefetching ROCm và HIP để giảm độ trễ bộ nhớ
  • Sử dụng các kỹ thuật bộ nhớ shared và local ROCm và HIP để tối ưu hóa truy cập bộ nhớ và băng thông
  • Sử dụng ROCm và HIP profiling và các công cụ profiling để đ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 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ã

Đối tượng

  • Các nhà phát triển muốn tìm hiểu cách sử dụng ROCm và HIP để 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ọ
 28 Hours

Number of participants


Price per participant

Testimonials (2)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories