Kerangka Materi

Pengenalan

  • Apa itu OpenACC?
  • Perbandingan OpenACC vs OpenCL vs CUDA vs SYCL
  • Tinjauan fitur dan arsitektur OpenACC
  • Menyiapkan lingkungan pengembangan

Memulai

  • Membuat proyek OpenACC di Visual Studio Code
  • Mengeksplorasi struktur proyek dan berkas
  • Mengompilasi dan menjalankan program
  • Menampilkan output dengan printf dan fprintf

Direktif dan Klausa OpenACC

  • Memahami direktif dan klausa OpenACC
  • Menggunakan direktif paralel untuk membuat wilayah paralel
  • Menggunakan direktif kernel untuk paralelisme yang dikelola oleh kompilator
  • Menggunakan direktif loop untuk memparalelkan loop
  • Mengelola perpindahan data dengan direktif data
  • Menyinkronkan data dengan direktif pembaruan
  • Meningkatkan penggunaan data dengan direktif cache
  • Membuat fungsi perangkat dengan direktif rutinitas
  • Menyinkronkan peristiwa dengan direktif tunggu

API OpenACC

  • Memahami peran API OpenACC
  • Menanyakan informasi dan kemampuan perangkat
  • Mengatur nomor dan jenis perangkat
  • Menangani kesalahan dan pengecualian
  • Membuat dan menyinkronkan peristiwa

Perpustakaan dan Interoperabilitas OpenACC

  • Memahami perpustakaan dan interoperabilitas OpenACC
  • Menggunakan perpustakaan matematika, acak, dan kompleks
  • Menegakkan model lain (CUDA, OpenMP, MPI)
  • Menegakkan perpustakaan GPU (cuBLAS, cuFFT)

Alat OpenACC

  • Memahami alat OpenACC dalam pengembangan
  • Memprofil dan membug program OpenACC
  • Analisis kinerja dengan PGI Compiler, NVIDIA Nsight Systems, Allinea Forge

Optimasi

  • Faktor yang mempengaruhi kinerja program OpenACC
  • Meningkatkan lokalitas data dan mengurangi transfer
  • Meningkatkan paralelisme dan penggabungan loop
  • Meningkatkan paralelisme dan penggabungan kernel
  • Meningkatkan vektorisasi dan penyesuaian otomatis

Ringkasan dan Langkah Selanjutnya

Persyaratan

  • Pemahaman bahasa C/C++ atau Fortran dan konsep pemrograman paralel
  • Pengetahuan dasar tentang arsitektur komputer dan hierarki memori
  • Pengalaman dengan alat baris perintah dan editor kode

Audience

  • Pengembang yang ingin belajar cara menggunakan OpenACC untuk memprogram perangkat heterogen dan memanfaatkan paralelismnya
  • Pengembang yang ingin menulis kode yang dapat dijalankan di berbagai platform dan perangkat
  • Programmer yang ingin meng eksplorasi aspek tingkat tinggi pemrograman heterogen dan meningkatkan produktivitas kode
 28 Jam

Jumlah Peserta


Biaya per Peserta

Kursus Mendatang

Kategori Terkait