Genel Bilgi
Kod | CEN463 |
Ad | Parallel Programming |
Dönem | 2024-2025 Eğitim-Öğretim Yılı |
Yarıyıl | 7. Yarıyıl |
Süre (T+U) | 3-0 (T-U) (17 Hafta) |
AKTS | 6 AKTS |
Yerel Kredi | 3 Yerel Kredi |
Eğitim Dil | İngilizce |
Seviye | Lisans Dersi |
Tür | Normal |
Öğretim Şekli | Yüz Yüze Öğretim |
Bilgi Paketi Koordinatörü | Prof. Dr. ZEKERİYA TÜFEKCİ |
Dersin Öğretim Elemanı |
Güncel dönem ders programı henüz yapılmamıştır. |
Dersin Amacı / Hedefi
Paralel programlama tekniklerinin öğrenilmesi
Dersin İçeriği
Paralel programlama teknikleri
Dersin Ön Koşulu
ön koşul yok
Kaynaklar
Multicore and GPU Programming: An Integrated Approach Gerassimos Barlas
Notlar
Introduction to Parallel Programming A. Grama, A. Gupta, G. Karypis, V. Kumar
Dersin Öğrenme Çıktıları
Sıra | Dersin Öğrenme Çıktıları |
---|---|
ÖÇ01 | Seri olarak yazılan bir C++ programını open MP kullanarak çok çekirdekli bilgisayarlarda çalışacak şekilde paralel hale getirebilir. |
ÖÇ02 | Seri olarak yazılan bir C++ programını open MPI kullanarak birden çok bilgisayarda çalışacak şekilde paralel hale getirebilir. |
ÖÇ03 | Seri olarak yazılan bir C++ programını garfik kartında (GPU) çalışacak şekilde paralel hale getirebilir. |
ÖÇ04 | Paralel programın performans limitini tahmin edebilir. |
Program Öğrenme Çıktıları ile İlişkisi
Sıra | Tür | Program Öğrenme Çıktıları | Duzey |
---|---|---|---|
PÖÇ01 | Bilgi - Kuramsal, Olgusal | Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi. | 1 |
PÖÇ02 | Bilgi - Kuramsal, Olgusal | Karmaşık mühendislik problemlerini tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. | 2 |
PÖÇ03 | Bilgi - Kuramsal, Olgusal | Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. | 4 |
PÖÇ04 | Bilgi - Kuramsal, Olgusal | Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. | 3 |
PÖÇ05 | Bilgi - Kuramsal, Olgusal | Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi. | 5 |
PÖÇ06 | Bilgi - Kuramsal, Olgusal | Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. | |
PÖÇ07 | Bilgi - Kuramsal, Olgusal | Sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi. | 3 |
PÖÇ08 | Bilgi - Kuramsal, Olgusal | Yaşam boyu öğrenmenin gerekliliği konusunda farkındalık; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. | 3 |
PÖÇ09 | Bilgi - Kuramsal, Olgusal | Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk ve mühendislik uygulamalarında kullanılan standartlar hakkında bilgi. | 2 |
PÖÇ10 | Bilgi - Kuramsal, Olgusal | Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi. | 3 |
PÖÇ11 | Bilgi - Kuramsal, Olgusal | Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık. | 3 |
Haftalık Akış
Hafta | Konu | Ön Hazırlık | Yöntemler |
---|---|---|---|
1 | Paylaşılan Bellek sistemleri | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım |
2 | OpenMP paralel döngü yapısı, değişkenlerin paylaşımı | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım |
3 | Veri Bağımlılıkları, Döngü çizelgeleri | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım |
4 | Senkronizasyon, Kritik bölümler | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım |
5 | Dağıtılmış Bellek Programlama (MPI) | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım |
6 | MPI temelleri, noktadan noktaya iletişim, toplu iletişim | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım |
7 | Eşzamanlı/eşzamansız gönderme/alma, toplama, dağıtma, yayınlama, azaltma algoritmaları. | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım |
8 | Arasınav | Ölçme Yöntemleri: Yazılı Sınav |
|
9 | Paralel haberleşme | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım |
10 | perfomans | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım |
11 | Paralel kodlar tasarlama | Designing parallel codes | Öğretim Yöntemleri: Anlatım |
12 | Paralel giriş/çıkış | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım |
13 | İş planlaması ve ek konular. | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım |
14 | GPU programlama | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım |
15 | C/C++'da OpenACC kullanarak GPU programlama | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım |
16 | Final sınavı | Ölçme Yöntemleri: Yazılı Sınav |
|
17 | Final sınavı | Ölçme Yöntemleri: Yazılı Sınav |
Öğrenci İş Yükü - AKTS
Çalışmalar | Sayısı | Süresi (Saat) | İş Yükü (Saat) |
---|---|---|---|
Ders ile İlgili Çalışmalar | |||
Ders (Sınav haftaları dahil değildir) | 14 | 3 | 42 |
Sınıf Dışı Ders Çalışma (Ön çalışma, pekiştirme) | 14 | 5 | 70 |
Değerlendirmeler ile İlgili Çalışmalar | |||
Ödev, Proje, Diğer | 0 | 0 | 0 |
Ara Sınavlar (Yazılı, Sözlü, vs.) | 1 | 15 | 15 |
Yarıyıl/Yıl Sonu/Final Sınavı | 1 | 30 | 30 |
Toplam İş Yükü (Saat) | 157 | ||
Toplam İş Yükü / 25 (s) | 6,28 | ||
AKTS | 6 AKTS |