Hubungi Kami

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

Jumlah Peserta


Harga per Peserta

Kursus Mendatang

Kategori Terkait