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
Komputasi GPU dan Arsitektur CUDA
- Perbedaan arsitektural antara CPU dan GPU
- Model multiprosesor pemrosesan data pada GPU NVIDIA
- Gambaran umum mengenai model pemrograman CUDA
- Konsep komputasi heterogen serta paradigma host-device
Mengatur Lingkungan Pengembangan CUDA
- Instalasi alat pengembangan CUDA Toolkit 13.x
- Kompilator NVCC serta alur kerja pengembangan
- Pemeriksaan konfigurasi lingkungan menggunakan perintah device query
- Integrasi alat pengembangan dengan IDE yang digunakan
Menulis dan Menjalankan Kernel CUDA
- Sintaksis serta atribut fungsi kernel
- Konfigurasi pelaksanaan kernel dan cara menjalankannya
- Contoh operasi penjumlahan vektor serta pola paralel data dasar lainnya
- Penggunaan makro pemeriksaan kesalahan dalam CUDA
Hierarki Thread dan Model Eksekusi CUDA
- Struktur pengorganisasian grid, blok, dan thread
- Cara menghitung indeks thread serta identitas globalnya
- Mekanisme eksekusi warp serta model SIMT dalam CUDA
- Faktor okupansi serta penggunaan sumber daya komputasi GPU
Arsitektur Memori GPU dan Manajemennya
- Jenis-jenis memori: global, shared, konstan, serta register
- Cara mengalokasikan dan melepaskan memori di perangkat GPU
- Proses transfer data dari host ke device maupun sebaliknya
- Fungsi shared memory untuk kolaborasi antar-thread dalam satu blok
Unified Memory dan Migrasi Data di GPU
- Konsep unified memory serta proses alokasi memori terkelola secara otomatis
- Migrasi halaman memori dan mekanisme paging on-demand
- Pemanfaatan fitur prefetching asinkron melalui fungsi cudaMemPrefetchAsync
- Cara memberikan petunjuk penggunaan memori sesuai pola akses data
Analisis Profil pada Tingkat Sistem Menggunakan Nsight Systems
- Pengolahan dan analisis timeline yang disediakan oleh Nsight Systems
- Identifikasi titik sinkronisasi antara CPU dan GPU
- Pemaparan visual mengenai pelaksanaan kernel serta proses transfer memori
- Interpretasi data kinerja komputasi secara menyeluruh di tingkat sistem
Optimisasi Kernel dengan Bantuan Nsight Compute
- Pemanfaatan fitur interaktif analisis profil kernel dalam Nsight Compute
- Evaluasi efisiensi penggunaan bandwidth memori serta kecepatan komputasi
- Analisis tingkat pemanfaatan kemampuan GPU dan statistik aktivitas warp selama eksekusi program
- Panduan optimisasi berdasarkan aturan yang diberikan oleh Nsight Compute
Aliran Eksekusi Bersamaan dan Operasi Asinkron
- Pengertian konsep aliran eksekusi CUDA serta perbedaannya dengan aliran default
- Cara menggabungkan pelaksanaan kernel sekaligus transfer data secara bersamaan
- Teknik sinkronisasi antar-aliran serta pemanfaatan event dalam CUDA
- Desain alur kerja yang memanfaatkan beberapa aliran eksekusi secara bersamaan
Pengelolaan Kesalahan dan Alat Debugging di CUDA
- Penanganan kode kesalahan API CUDA serta strategi pemulihan yang tepat
- Fungsi Compute-sanitizer untuk mendeteksi masalah akses memori yang tidak sah
- Pemanfaatan alat cuda-gdb guna melakukan debugging terhadap kernel GPU
- Implementasi pernyataan assert serta mekanisme deteksi kesalahan secara sinkron
Pendekatan Iteratif untuk Optimisasi Berbasis Profil
- Metodologi pengujian dan analisis kinerja yang dilakukan secara bertahap
- Cara mengidentifikasi dan menentukan prioritas hambatan kinerja dalam aplikasi
- Penerapan pengujian regresi agar performa tetap terkontrol
- Dokumentasi keputusan optimisasi yang telah diambil selama pelatihan
Proyek Pengembangan Aplikasi Terakselerasi Secara Lengkap
- Pendesainan solusi komputasi terakselerasi yang memanfaatkan kemampuan GPU secara menyeluruh
- Integrasi alat analisis profil ke dalam seluruh tahapan pengembangan aplikasi
- Evaluasi kinerja dan penyusunan laporan hasil pengujian akhir
- Pertimbangan praktis saat akan menerapkan solusi tersebut pada lingkungan produksi
Persyaratan
- Kemampuan dasar dalam pemrograman C/C++, termasuk penggunaan tipe variabel, perulangan, pernyataan kondisional, fungsi, serta manipulasi array
- Pengalaman dalam mengkompilasi dan menjalankan program melalui baris perintah
- Keahlian pemrograman GPU atau penggunaan CUDA sebelumnya tidak menjadi prasyarat
Target Peserta
- Pengembang perangkat lunak dan insinyur yang ingin mempercepat aplikasi C/C++ dengan menggunakan GPU
- Peneliti ilmiah serta praktisi komputasi kinerja tinggi yang hendak beralih dari lingkungan komputasi berbasis CPU ke sistem heterogen
- Pemimpin teknis yang sedang mengevaluasi pemanfaatan akselerasi GPU pada beban kerja produksi
8 Jam