Hubungi Kami

Kerangka Materi

Pendahuluan

  • Apa itu ROCm?
  • Apa itu HIP?
  • ROCm vs CUDA vs OpenCL: perbandingan utama.
  • Gambaran umum mengenai fitur dan arsitektur ROCm serta HIP.
  • Penyiapan Lingkungan Pengembangan

Pengenalan Dasar

  • Membuat proyek ROCm baru menggunakan Visual Studio Code.
  • Mempelajari struktur dan isi berkas-berkas dalam proyek tersebut.
  • Mengkompilasi serta menjalankan program untuk pertama kalinya.
  • Menampilkan output dengan bantuan fungsi printf dan fprintf.

API ROCm

  • Fungsi utama API ROCm dalam program host.
  • Menggunakan API ROCm untuk menanyakan spesifikasi perangkat.
  • Alokasi dan pelepasan memori perangkat via API ROCm.
  • Penerimaan/penyimpanan data antar host dan device dengan bantuan API ini.
  • Peluncuran kernel serta pengaturan sinkronisasi thread melalui API ROCm.
  • Penanganan kesalahan/ekecuali dalam program menggunakan API ROCm.

Bahasa HIP

  • Fungsi utama bahasa HIP dalam implementasi kode device.
  • Membuat kernel dengan bahasa HIP yang mampu memproses data secara efisien di GPU.
  • Penggunaan tipe data, operator, serta ekspresi pada HIP.
  • Menerapkan fungsi bawaan, variabel, dan pustaka HIP guna menyelesaikan tugas-tugas umum.

Model Memori ROCm dan HIP

  • Perbedaan mendasar antara model memori host dan device.
  • Pemanfaatan area penyimpanan seperti global, shared, constant, local dalam kode program.
  • Implementasi objek-objek memori termasuk pointer, array, texture, maupun surface.
  • Penentuan mode akses seperti read-only, write-only, atau read-write terhadap memori.
  • Mengerti prinsip konsistensi data dan mekanisme sinkronisasi dalam penggunaan memori.

Model Eksekusi ROCm dan HIP

  • Pemahaman perbedaan antara eksekusi di host maupun device.
  • Pengaturan jumlah thread, block, grid untuk mewujudkan paralelisasi yang tepat.
  • Memanggil fungsi-fungsi terkait thread seperti hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x.
  • Penerapan perintah sinkronisasi blok melalui __syncthreads atau __threadfence_block.
  • Mengelola konfigurasi grid via hipGridDim_x, mekanisme koordinasi antar blok, serta cooperative groups.

Debugging

  • Pendeteksian kesalahan umum dan hambatan kinerja pada program ROCm/HIP.
  • Menggunakan debugger Visual Studio Code guna menginspeksi variabel, breakpoint, serta tumpukan pemanggilan fungsi.
  • Memanfaatkan ROCm Debugger sebagai alat utama untuk memecahkan masalah kode pada GPU AMD.
  • Mengukur performa program dengan bantuan ROCm Profiler secara mendalam.

Optimisasi

  • Faktor-faktor utama yang berpengaruh terhadap kecepatan eksekusi kode ROCm/HIP.
  • Penerapan teknik coalescing dalam pengelolaan data untuk meningkatkan throughput memori.
  • Meminimalisir latensi akses memori lewat strategi caching dan prefetching yang tepat.
  • Optimalisasi pemanfaatan shared memory maupun local memory demi efisiensi penggunaan bandwidth.
  • Menggunakan alat profilisasi guna memperbaiki waktu eksekusi serta memaksimalkan penggunaan sumber daya komputasi.

Penutup dan Langkah Selanjutnya

Persyaratan

  • Pemahaman dasar terhadap bahasa C/C++ serta konsep pemrograman paralel
  • Pengetahuan ringkas mengenai arsitektur komputer dan hirarki memori
  • Pengalaman menggunakan alat baris perintah serta editor kode

Target Peserta

  • Developer yang ingin menguasai penggunaan ROCm dan HIP dalam pemrograman GPU AMD serta memanfaatkan potensi paralelisasinya.
  • Pengembang yang bermaksud menciptakan kode berkinerja tinggi dan dapat dijalankan secara efektif pada ragam perangkat AMD.
  • Programmer yang ingin mendalami aspek teknis dalam pemrograman GPU serta cara meningkatkan kecepatan eksekusi program mereka.
 28 Jam

Jumlah Peserta


Harga per Peserta

Kursus Mendatang

Kategori Terkait