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 arsitektur CPU vs GPU
- Model streaming multiprocessor NVIDIA GPU
- Gambaran model pemrograman CUDA
- Komputasi heterogen dan paradigma host-device
Menyiapkan Lingkungan Pengembangan CUDA
- Memasang CUDA Toolkit 13.x
- Kompilator NVCC dan alur kerja build
- Mengecek lingkungan dengan device queries
- Integrasi IDE dan alat pengembangan
Menulis dan Meluncurkan Kernel CUDA
- Sintaks dan kualifier fungsi kernel
- Konfigurasi peluncuran dan pelaksanaan
- Penambahan vektor dan pola pararel data dasar
- Makro pemeriksaan error CUDA
Hierarki Thread CUDA dan Model Eksekusi
- Organisasi grid, blok, dan thread
- Pengindeksan thread dan perhitungan ID global
- Ekskusi warp dan model SIMT
- Occupancy dan pemanfaatan sumber daya
Arsitektur dan Pengelolaan Memori GPU
- Jenis memori: global, shared, constant, registers
- Mengalokasikan dan membebaskan memori perangkat
- Transfer host-ke-perangkat dan perangkat-ke-host
- Memori shared untuk kolaborasi intra-blok
Unified Memory dan Migrasi Data
- Model unified memory dan alokasi terkelola
- Migrasi halaman dan paging on-demand
- Prefetching asinkron dengan cudaMemPrefetchAsync
- Saran memori untuk pola akses
Profiling Sistem-Wide dengan Nsight Systems
- Analisis timeline Nsight Systems
- Mengidentifikasi titik sinkronisasi CPU-GPU
- Melihat visualisasi eksekusi kernel dan transfer memori
- Menginterpretasi data performa tingkat sistem
Optimasi Kernel dengan Nsight Compute
- Profiling kernel interaktif Nsight Compute
- Analisis throughput dan bandwidth memori
- Pemanfaatan komputasi dan statistik status warp
- Analisis terpandu dan aturan optimasi
Concurrent Streams dan Operasi Asinkron
- CUDA streams dan stream default
- Meningkatkan eksekusi kernel dengan transfer data
- Sinkronisasi stream dan peristiwa CUDA
- Pola desain pipeline multi-stream
Penanganan Error dan Alat Debugging
- Kode error API CUDA dan strategi pemulihan
- Compute-sanitizer untuk pengecekan akses memori
- cuda-gdb untuk debugging kernel
- Assertion dan deteksi error sinkron
Ahur Kerja Optimasi Berbasis Profil
- Metodologi profiling iteratif
- Identifikasi bottleneck dan prioritas
- Pengujian regresi performa
- Dokumentasi keputusan optimasi
Proyek Aplikasi Dipercepat End-to-End
- Merancang solusi dipercepat GPU secara lengkap
- Mengintegrasikan profiling selama pengembangan
- Benchmarking performa dan pelaporan
- Pertimbangan deployment untuk produksi
Persyaratan
- Kompetensi pemrograman C/C++ dasar termasuk tipe variabel, loop, pernyataan kondisional, fungsi, dan manipulasi array
- Kebiasaan dengan kompilasi dan menjalankan program dari command line
- Tidak diperlukan pengalaman pemrograman GPU atau CUDA sebelumnya
Audience
- Pengembang perangkat lunak dan insinyur yang ingin mempercepat aplikasi C/C++ dengan GPU
- Peneliti ilmiah dan praktisi HPC yang beralih dari komputasi berbasis CPU saja ke komputasi heterogen
- Tech lead yang mengevaluasi akselerasi GPU untuk beban kerja produksi
8 Jam