CENG 444

Paralel Programlama Örüntüleri

Ders, temel paralel algoritma tasarımı becerilerini ve paralel programlama desenlerini sunar. Paralel mimariler ve paralel programlamanın temel kavramlarını, OpenMP programlama modeli konularını ve kontrol ile veri desenlerini kapsar. Ayrıca, paralel yazılım geliştirme temellerini sunarak bu konulara yönelik uygulamalar içerir.

Dersin Amacı

  1. Paylaşımlı bellekli paralel mimarileri anlayabilme.
  2. Çok çekirdekli sistemler için paralel programlar tasarlayabilme ve geliştirebilme.
  3. Paralel program yürütme ve performans optimizasyon tekniklerini anlayabilme.
  4. Paralel yazılım geliştirme tekniklerini ve programlama desenlerini anlayabilme.

Kaynakça

– Arch Robison, James Reinders, and Michael David McCool, Structured Parallel Programming: Patterns for Efficient Computation.
– Çevrimiçi OpenMP kaynakları ve eğitimleri

Öğrenme Çıktıları:

1. Paralel programlama problemlerini ve ilgili örüntüleri anlayabilme

2.  Farklı paralel programlama problemlerine paralel programlama örüntülerini uygulama tecrübesini gösterme

3. Farklı programlama örüntüleri ve modelleriyle ilgili değerlendirme yapabilme

Konular
Giriş
Paralel Donanım Ortamları
Paralel Yazılım Geliştirme
Paralel Program Performans Analizi
OpenMP
OpenMP
Ara Sınav
Desenler
Map Deseni
Reduce/Scan Deseni
Veri Yeniden Düzenleme
Stencil/Yineleme
Fork/Join
Proje Sunumları

Notlandırma

20% Ara Sınav

40% Ödevler/Final Projesi

40% Final Sınavı