Terima kasih telah mengirimkan pertanyaan Anda! Salah satu anggota tim kami akan segera menghubungi Anda.
Terima kasih telah mengirimkan pemesanan Anda! Salah satu anggota tim kami akan segera menghubungi Anda.
Kerangka Materi
Pendahuluan
- Apa itu ROCm?
- Apa itu HIP?
- ROCm vs CUDA vs OpenCL
- Overview of ROCm and HIP features and architecture
- Pengaturan Lingkungan Pengembangan
Mulai
- Membuat proyek ROCm baru menggunakan Visual Studio Code
- Menjelajahi struktur proyek dan file
- Mengompilasi dan menjalankan program
- Menampilkan output menggunakan printf dan fprintf
API ROCm
- Memahami peran API ROCm dalam program host
- Menggunakan API ROCm untuk meminta informasi dan kemampuan perangkat
- Menggunakan API ROCm untuk mengalokasikan dan membebaskan memori perangkat
- Menggunakan API ROCm untuk menyalin data antara host dan perangkat
- Menggunakan API ROCm untuk meluncurkan kernel dan mengsinkronkan thread
- Menggunakan API ROCm untuk menangani kesalahan dan pengecualian
Bahasa HIP
- Memahami peran bahasa HIP dalam program perangkat
- Menggunakan bahasa HIP untuk menulis kernel yang dieksekusi pada GPU dan memanipulasi data
- Menggunakan tipe data HIP, kualifikasi, operator, dan ekspresi
- Menggunakan fungsi bawaan HIP, variabel, dan perpustakaan untuk melaksanakan tugas dan operasi yang umum
Model Memori ROCm dan HIP
- Memahami perbedaan antara model memori host dan perangkat
- Menggunakan ruang memori ROCm dan HIP, seperti global, shared, constant, dan local
- Menggunakan objek memori ROCm dan HIP, seperti pointer, array, textures, dan surfaces
- Menggunakan mode akses memori ROCm dan HIP, seperti read-only, write-only, read-write, dll.
- Menggunakan model konsistensi memori ROCm dan HIP dan mekanisme sinkronisasi
Model Eksekusi ROCm dan HIP
- Memahami perbedaan antara model eksekusi host dan perangkat
- Menggunakan ROCm dan HIP threads, blocks, dan grids untuk mendefinisikan paralelisme
- Menggunakan fungsi thread ROCm dan HIP, seperti hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x, dll.
- Menggunakan fungsi block ROCm dan HIP, seperti __syncthreads, __threadfence_block, dll.
- Menggunakan fungsi grid ROCm dan HIP, seperti hipGridDim_x, hipGridSync, cooperative groups, dll.
Debugging
- Memahami kesalahan dan bug umum dalam program ROCm dan HIP
- Menggunakan debugger Visual Studio Code untuk memeriksa variabel, breakpoint, call stack, dll.
- Menggunakan ROCm Debugger untuk mengdebug program ROCm dan HIP pada perangkat AMD
- Menggunakan ROCm Profiler untuk menganalisis program ROCm dan HIP pada perangkat AMD
Optimisasi
- Memahami faktor-faktor yang mempengaruhi kinerja program ROCm dan HIP
- Menggunakan teknik ROCm dan HIP coalescing untuk meningkatkan throughput memori
- Menggunakan teknik caching dan prefetching ROCm dan HIP untuk mengurangi latensi memori
- Menggunakan teknik shared memory dan local memory ROCm dan HIP untuk mengoptimasi akses dan bandwidth memori
- Menggunakan profil dan alat profil ROCm dan HIP untuk mengukur dan meningkatkan waktu eksekusi dan penggunaan sumber daya
Ringkasan dan Langkah Selanjutnya
Persyaratan
- Pengertian tentang bahasa C/C++ dan konsep pemrograman parallel
- Pengetahuan dasar tentang arsitektur komputer dan hierarki memori
- Pengalaman dengan alat baris perintah dan editor kode
Penonton
- Pengembang yang ingin mempelajari cara menggunakan ROCm dan HIP untuk memprogram AMD GPU dan mengoptimalkan paralelisme
- Pengembang yang ingin menulis kode kinerja tinggi dan skalabel yang dapat berjalan di berbagai perangkat AMD
- Programmer yang ingin menjelajahi aspek rendah level pemrograman GPU dan mengoptimalkan kinerja kode
28 Jam