DERS TANITIM ve UYGULAMA BİLGİLERİ

Dersin Adı Kodu Yarıyıl T+U+L (saat/hafta) Türü (Z / S) Yerel Kredi AKTS
Paralel Programlama CE 537 Bahar 03+00+00 Seçmeli 3 10.0
Akademik Birim:
Öğrenim Türü:
Ön Koşullar Yok
Öğrenim Dili: İngilizce
Dersin Düzeyi: Yüksek Lisans
Dersin Koordinatörü: Bahar Delibaş
Dersin Amacı: Bu ders performans gerektiren problemlerin çözümünde kullanılabilecek bir araç olan paralel hesaplama metotlarını öğretmeyi amaçlar.Ders parallel makinalarim mimarisini, parallel algorıtmaları ve message passing programlama metodunu ögretir.
Dersin İçeriği: Paralel hesaplama modelleri:paylaşılan bellek uzayı, mesaj aktarımlı mimariler.

Paralel algoritmalar için karmaşıklık hesabı ve başarım analizi, yürütme zamanı, alt ve üst sınır,hızlanma, maliyet ve etkinlik.

Temel yardımcı algoritmalar: broadcast, multicast, prefix.

Başlıca problem sınıflarına yönelik paralel algoritmalar: seçme, sıralama, kaynaştırma, arama,ve matris algoritmaları.
Dersin Öğrenme Çıktıları (ÖÇ):
  • 1- 1. Mesaj aktarımlı mimarilerine ilişkin modelleri tanımlama ve analizi.
  • 2- 2. Belirli bir problem için geliştirilen farklı paralel algoritmların maliyet, hızlanma ve etkinlik değerlendirmesini yapabilme.
  • 3- 3. Sıralama, seçme, arama, matris işlemleri, vs. gibi belirli problem sınıflarına ait paralel algoritmaların yapılarını ve çalışma prensiplerini anlama.
  • 4- 4. Paralel algoritma geliştirme tekniklerini uygulayarak, önceden incelenmemiş problemler için yeni paralel algoritmalar geliştirebilme.
Dersin Öğrenme Yöntem ve Teknikleri


HAFTALIK PROGRAM

HaftaKonularÖn Hazırlık
1 Paralel Hesaplamaya Giriş: Neden Paralel Hesaplama? Uygulamalar.
2 Paralel Hesaplama Mimarileri: ortak bellekli, dağınık bellekli mimariler ve bunlarin ağ yapilari
3 Paralel Algoritma Tasarım İlkeleri: Veri Parçalama İşlevsel Parçalama
4 Mesaj aktarimli programlama (MPI)
5 Temel İletişim İşlemleri: Broadcast, Reduce, Scatter, Gather, Prefix Sum.
6 Floyd?s Algorithm
7 Paralel algoritmalar için karmaşıklık hesabı ve başarım analizi, yürütme zamanı, alt ve üst sınır, hızlanma, maliyet ve etkinlik.
8 Matris-Vector çarpimi
9 Matris çarpma algoritmaları
10 Lineer Denklem Sistemlerinin Çözümü.
11 Paralel Sıralama
12 Ortak Adresleme Kullanan Sistemlerde Programlama: Thread yapısı POSIX kütüphanesi
13 Ortak Adresleme Kullanan Sistemlerde Programlama: OpenMP
14 GPU programlama


ZORUNLU ve ÖNERİLEN OKUMALAR

Parallel Programming in C with MPI and OpenMP by Michael Quinn.


DİĞER KAYNAKLAR



DEĞERLENDİRME SİSTEMİ

Yarıyıl İçi ÇalışmalarıSayıKatkı Payı (%)
Katılım 1 10
Laboratuvar - -
Uygulama - -
Arazi Çalışması - -
Proje 1 70
Ödev 2 20
Sunum/Jüri - -
Derse Özgü Staj - -
Diğer Uygulamalar (seminer, stüdyo kritiği, workshop vb.) - -
Dersle İlgili Sınıf Dışı Etkinlikler (okuma, bireysel çalışma vb.) - -
Ara Sınavlar/Sözlü Sınavlar/Kısa Sınavlar - -
Final Sınavı - -
Total: 4 100


İŞ YÜKÜ HESAPLAMASI

EtkinliklerSayısıSüresi (saat)Toplam İş Yükü (saat)
Ders Saati42142
Laboratuvar000
Uygulama000
Arazi Çalışması000
Proje15050
Ödev22040
Sunum/Jüriye Hazırlık12020
Derse Özgü Staj000
Diğer Uygulamalara Hazırlık15050
Dersle İlgili Sınıf Dışı Etkinlikler15050
Ara Sınavlar/Sözlü Sınavlar/Kısa Sınavlar000
Final Sınavı000
Toplam İş Yükü (saat):252


PROGRAM YETERLİLİKLERİ (PY) ve ÖĞRENME ÇIKTILARI (ÖÇ) İLİŞKİSİ

# PY1 PY2 PY3 PY4 PY5 PY6 PY7 PY8 PY9 PY10 PY11 PY12
OC1 1   3 3 3         2    
OC2 1   3 3 3         2    
OC3 1   3 3 3         2    
OC4 1   3 3 3         2