Kerangka Materi

Pendahuluan

  • Apa itu ROCm?
  • Apa itu HIP?
  • ROCm vs CUDA vs OpenCL
  • Tinjauan fitur dan arsitektur ROCm dan HIP
  • ROCm untuk Windows vs ROCm untuk Linux

Pemasangan

  • Menginstal ROCm di Windows
  • Memverifikasi pemasangan dan memeriksa kompatibilitas perangkat
  • Memperbarui atau menghapus ROCm di Windows
  • Mengatasi masalah pemasangan yang umum

Memulai

  • Membuat proyek ROCm baru menggunakan Visual Studio Code di Windows
  • Menjelajahi struktur dan file proyek
  • Mengompilasi dan menjalankan program
  • Menampilkan output menggunakan printf dan fprintf

API ROCm

  • Menggunakan API ROCm di program host
  • Meminta informasi dan keterampilan perangkat
  • Mengalokasikan dan membebaskan memori perangkat
  • Mengkopi data antara host dan perangkat
  • Meluncurkan kernel dan menyinkronkan thread
  • Mengelola kesalahan dan pengecualian

Bahasa HIP

  • Menggunakan bahasa HIP di program perangkat
  • Menulis kernel yang dieksekusi di GPU dan memanipulasi data
  • Menggunakan jenis data, kualifikasi, operator, dan ekspresi
  • Menggunakan fungsi, variabel, dan perpustakaan bawaan

Model Memori ROCm dan HIP

  • Menggunakan ruang memori yang berbeda, seperti global, shared, constant, dan local
  • Menggunakan objek memori yang berbeda, seperti pointer, array, textures, dan surfaces
  • Menggunakan mode akses memori yang berbeda, seperti read-only, write-only, read-write, dll.
  • Menggunakan model konsistensi memori dan mekanisme sinkronisasi

Model Eksekusi ROCm dan HIP

  • Menggunakan model eksekusi yang berbeda, seperti threads, blocks, dan grids
  • Menggunakan fungsi thread, seperti hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x, dll.
  • Menggunakan fungsi block, seperti __syncthreads, __threadfence_block, dll.
  • Menggunakan fungsi grid, seperti hipGridDim_x, hipGridSync, cooperative groups, dll.

Pemecahan Masalah

  • Memecahkan masalah program ROCm dan HIP di Windows
  • Menggunakan debugger Visual Studio Code untuk memeriksa variabel, breakpoint, call stack, dll.
  • Menggunakan ROCm Debugger untuk memecahkan masalah program ROCm dan HIP di perangkat AMD
  • Menggunakan ROCm Profiler untuk menganalisis program ROCm dan HIP di perangkat AMD

Optimasi

  • Mengoptimalkan program ROCm dan HIP di Windows
  • Menggunakan teknik coalescing untuk meningkatkan throughput memori
  • Menggunakan teknik caching dan prefetching untuk mengurangi latensi memori
  • Menggunakan teknik memori shared dan local untuk mengoptimalkan akses dan lebar pita memori
  • Menggunakan profil dan alat profil untuk mengukur dan meningkatkan waktu eksekusi dan pemakaian sumber daya

Ringkasan dan Langkah Selanjutnya

Persyaratan

  • Pahaman tentang bahasa C/C++ dan konsep pemrograman paralel
  • Pengetahuan dasar tentang arsitektur komputer dan hierarki memori
  • Pengalaman dengan alat baris perintah dan editor kode
  • Kenalan dengan sistem operasi Windows dan PowerShell

Audience

  • Pengembang yang ingin mempelajari cara memasang dan menggunakan ROCm di Windows untuk memprogram GPU AMD dan memanfaatkan paralelism-nya
  • Pengembang yang ingin menulis kode berkinerja tinggi dan dapat di skalakan yang dapat berjalan di berbagai perangkat AMD
  • Programmer yang ingin mengungkap aspek tingkat rendah pemrograman GPU dan mengoptimalkan kinerja kode-nya
 21 Jam

Jumlah Peserta


Biaya per Peserta

Kursus Mendatang

Kategori Terkait