Eğitim İçeriği

Giriş

  • OpenACC nedir?
  • OpenACC vs OpenCL vs CUDA vs SYCL
  • OpenACC özelliklerine ve mimarisine genel bakış
  • Geliştirme ortamının kurulumu

Başlangıç

  • Visual Studio Code'da bir OpenACC projesi oluşturma
  • Proje yapısını ve dosyalarını keşfetme
  • Programı derleme ve çalıştırma
  • printf ve fprintf ile çıktı görüntüleme

OpenACC Direktifleri ve Maddeleri

  • OpenACC direktiflerini ve maddelerini anlama
  • Paralel bölgeler oluşturmak için paralel direktifleri kullanma
  • Derleyici tarafından yönetilen paralellik için çekirdek direktiflerini kullanma
  • Döngüleri paralelleştirmek için döngü direktiflerini kullanma
  • Veri direktifleri ile veri hareketini yönetme
  • Güncelleme direktifleri ile veriyi senkronize etme
  • Önbellek direktifleri ile veri yeniden kullanımını iyileştirme
  • Rutin direktifleri ile cihaz fonksiyonları oluşturma
  • Bekleme direktifleri ile olayları senkronize etme

OpenACC API

  • OpenACC API'sinin rolünü anlama
  • Cihaz bilgilerini ve yeteneklerini sorgulama
  • Cihaz numarası ve türünü ayarlama
  • Hataları ve istisnaları işleme
  • Olayları oluşturma ve senkronize etme

OpenACC Kütüphaneleri ve Birlikte Çalışabilirlik

  • OpenACC kütüphanelerini ve birlikte çalışabilirliği anlama
  • Matematik, rastgele ve karmaşık kütüphaneleri kullanma
  • Diğer modellerle (CUDA, OpenMP, MPI) entegrasyon
  • GPU kütüphaneleri (cuBLAS, cuFFT) ile entegrasyon

OpenACC Araçları

  • Geliştirme aşamasındaki OpenACC araçlarını anlama
  • OpenACC programlarını profilleme ve ayıklama
  • PGI Compiler, NVIDIA Nsight Systems, Allinea Forge ile performans analizi

Optimizasyon

  • OpenACC program performansını etkileyen faktörler
  • Veri yerelliğini optimize etme ve aktarımları azaltma
  • Döngü paralelliğini ve birleştirmesini optimize etme
  • Çekirdek paralelliğini ve birleştirmesini optimize etme
  • Vektörleştirmeyi ve otomatik ayarlamayı optimize etme

Özet ve Sonraki Adımlar

Kurs İçin Gerekli Önbilgiler

  • C/C++ veya Fortran dili ve paralel programlama kavramlarına ilişkin anlayış
  • Bilgisayar mimarisi ve bellek hiyerarşisi hakkında temel bilgi
  • Komut satırı araçları ve kod düzenleyicileri ile deneyim

Hedef Kitle

  • OpenACC kullanarak heterojen cihazları programlamayı ve paralelliklerinden yararlanmayı öğrenmek isteyen geliştiriciler
  • Farklı platformlarda ve cihazlarda çalışabilen taşınabilir ve ölçeklenebilir kod yazmak isteyen geliştiriciler
  • Heterojen programlamanın üst düzey yönlerini keşfetmek ve kod üretkenliklerini optimize etmek isteyen programcılar
 28 Saat

Katılımcı Sayısı


Kişi Başına Fiyat

Danışanlarımızın Yorumları (2)

Yaklaşan Etkinlikler

İlgili Kategoriler