Kerangka Materi

Pendahuluan

  • Apa itu pemrograman GPU?
  • Mengapa menggunakan CUDA dengan Python?
  • Konsep kunci: Threads, Bloks, Grids

Ikhtisar Fitur dan Arsitektur CUDA

  • Arsitektur GPU vs CPU
  • Pemahaman tentang SIMT (Single Instruction, Multiple Threads)
  • Model pemrograman CUDA

Mengatur Lingkungan Pengembangan

  • Menginstal CUDA Toolkit dan driver
  • Menginstal Python dan Numba
  • Mengatur dan memverifikasi lingkungan

Dasar-dasar Pemrograman Paralel

  • Pendahuluan ke eksekusi paralel
  • Pemahaman tentang threads dan hierarki thread
  • Bekerja dengan warps dan sinkronisasi

Bekerja dengan Kompiler Numba

  • Pendahuluan ke Numba
  • Menulis kernel CUDA dengan Numba
  • Pemahaman tentang @cuda.jit decorators

Membangun Kernel CUDA Kustom

  • Menulis dan meluncurkan kernel dasar
  • Menggunakan threads untuk operasi elemen-ke-elemen
  • Mengelola dimensi grid dan blok

Pengelolaan Memori

  • Jenis memori GPU (global, shared, local, constant)
  • Transfer memori antara host dan device
  • Mengoptimalkan penggunaan memori dan menghindari bottleneck

Topik Lanjutan dalam Akselerasi GPU

  • Memori bersama dan sinkronisasi
  • Menggunakan streams untuk eksekusi asinkronus
  • Dasar-dasar pemrograman multi-GPU

Konversi Aplikasi Berbasis CPU ke GPU

  • Profiling kode CPU
  • Mengidentifikasi bagian yang dapat diparalelkan
  • Mempindahkan logika ke kernel CUDA

Pemecahan Masalah

  • Mencari kesalahan pada aplikasi CUDA
  • Kesalahan umum dan cara mengatasinya
  • Alat dan teknik untuk pengujian dan validasi

Rangkuman dan Langkah Selanjutnya

  • Ulasan konsep kunci
  • Praktik terbaik dalam pemrograman GPU
  • Sumber daya untuk pembelajaran berkelanjutan

Persyaratan

  • Pengalaman pemrograman Python
  • Pengalaman dengan NumPy (ndarrays, ufuncs, dll.)

Audience

  • Pengembang
 14 Jam

Jumlah Peserta


Harga per Peserta

Testimoni (1)

Kursus Mendatang

Kategori Terkait