Kerangka Materi
Pendahuluan
Memahami konsep dasar metodologi komputasi heterogen
Alasan dibalik komputasi paralel – Mengapa komputasi paralel diperlukan?
Prosesor multi-core: arsitektur dan desainnya
Pendahuluan mengenai thread, konsep dasar thread serta pemrograman paralel
Memahami prinsip-prinsip optimisasi perangkat lunak GPU
OpenMP – Standar untuk pemrograman paralel berbasis direktif
Praktikum/demonstraasi program-program beragam di mesin multi-core
Pendahuluan mengenai komputasi GPU
GPU dalam konteks komputasi paralel
Model pemrograman GPU
Praktikum/demonstraasi program-program beragam di lingkungan GPU
SDK, toolkit, serta proses instalasi lingkungan pengembangan GPU
Bekerja dengan berbagai pustaka terkait GPU
Demonstraasi alat-alat GPU menggunakan contoh program dan OpenACC
Memahami model pemrograman CUDA
Mempelajari arsitektur CUDA
Mengenal serta menyiapkan lingkungan pengembangan CUDA
Bekerja dengan API runtime CUDA
Memahami model memori CUDA
Mengeksplorasi fitur-fitur tambahan pada API CUDA
Cara mengakses memori global secara efisien di CUDA: optimisasi memori global
Mengoptimalkan transfer data di CUDA melalui penggunaan CUDA Streams
Pemanfaatan shared memory dalam pemrograman CUDA
Memahami dan menggunakan operasi serta instruksi atomik dalam CUDA
Studi kasus: Pengolahan citra digital dasar menggunakan CUDA
Bekerja dengan program yang memanfaatkan multi-GPU
Teknik profiling dan sampling perangkat keras tingkat lanjut pada NVIDIA/CUDA
Menggunakan API Dinamis CUDA untuk meluncurkan kernel secara dinamis
Penutup dan kesimpulan
Persyaratan
- Pemrograman C
- Linux GCC
Testimoni (1)
Energi dan selera humornya para instruktur.
Tadeusz Kaluba - Nokia Solutions and Networks Sp. z o.o.
Kursus - NVIDIA GPU Programming - Extended
Diterjemahkan Mesin