Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Pendahuluan
- Apa itu pemrograman GPU?
- Mengapa menggunakan CUDA dengan Python?
- Konsep kunci: Threads, Blocks, Grids
Ringkasan Fitur dan Arsitektur CUDA
- GPU vs arsitektur CPU
- Mengerti SIMT (Single Instruction, Multiple Threads)
- Model pemrograman CUDA
Menyiapkan Lingkungan Pengembangan
- Instalasi CUDA Toolkit dan driver
- Instalasi Python dan Numba
- Mengatur dan memverifikasi lingkungan
Fundamental Eksekusi Paralel Programming
- Pendahuluan tentang eksekusi paralel
- Mengerti threads dan hierarki thread
- Bekerja dengan warps dan sinkronisasi
Bekerja dengan Kompilator Numba
- Pendahuluan tentang Numba
- Menulis CUDA kernels dengan Numba
- Mengerti dekorator @cuda.jit
Membangun Kernel CUDA Custom
- Menulis dan meluncurkan kernel dasar
- Menggunakan threads untuk operasi element-wise
- Mengelola dimensi grid dan block
Management Memori
- Jenis-jenis memori GPU (global, shared, local, constant)
- Transfer memori antara host dan device
- Mengoptimalkan penggunaan memori dan menghindari botleneck
Tema Lanjutan dalam Akselerasi GPU
- Memori shared dan sinkronisasi
- Menggunakan streams untuk eksekusi asynchronous
- Basis pemrograman multi-GPU
Mengubah Aplikasi Berbasis CPU ke GPU
- Pemrofiling kode CPU
- Menentukan bagian yang dapat diparalelkan
- Memporting logika ke CUDA kernels
Troubleshooting
- Debugging aplikasi CUDA
- Kesalahan umum dan cara menyelesaikannya
- Alat dan teknik untuk pengujian dan validasi
Ringkasan dan Langkah Berikutnya
- Ulasan konsep kunci
- BEST PRACTICES dalam pemrograman GPU
- Sumber daya untuk pembelajaran lanjutan
Requirements
- Python pengalaman pemrograman
- Pengalaman dengan NumPy (ndarrays, ufuncs, dll.)
Target Peserta
- Pengembang
14 Hours
Testimonials (1)
Very interactive with various examples, with a good progression in complexity between the start and the end of the training.