Genel Bilgi
Kod | CEN463 |
Ad | Parallel Programming |
Dönem | 2023-2024 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 |
Etiket | S Seçmeli |
Öğ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. Bir önceki dönem grupları ve öğretim elemanları gösterilmektedir. |
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 | 1. Matematik, fen bilimleri ve bilgisayarla ilgili mühendislik konularında yeterli altyapıya sahip olma; bu alanlardaki kuramsal bilgileri beraber kullanabilme | 1 |
PÖÇ02 | Bilgi - Kuramsal, Olgusal | 2. Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analitik yöntemler ve modelleme tekniklerini seçme ve uygulama | 2 |
PÖÇ03 | Bilgi - Kuramsal, Olgusal | 3. Karmaşık bir sistemi, sistem bileşenini ya da süreci analiz etme ve istenen gereksinimleri karşılamak üzere gerçekçi kısıtlar altında tasarlama becerisi; bu doğrultuda modern tasarım yöntemlerini uygulama becerisi | 4 |
PÖÇ04 | Bilgi - Kuramsal, Olgusal | 4. Mühendislik uygulamaları için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin kullanma becerisi | 3 |
PÖÇ05 | Bilgi - Kuramsal, Olgusal | 5. Karmaşık bilgisayar mühendisliği problemlerin çözümüne ilişkin deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi | 5 |
PÖÇ06 | Bilgi - Kuramsal, Olgusal | Bireysel olarak ve disiplin içi/çok disiplinli takımlarda etkin çalışabilme becerisi, sorumluluk alma ve özgüven | |
PÖÇ07 | Beceriler - Bilişsel, Uygulamalı | Bilgiye erişebilme, kaynak araştırması yapabilme ve bilgi kaynaklarını kullanabilme becerisi | 3 |
PÖÇ08 | Beceriler - Bilişsel, Uygulamalı | Yaşam boyu öğrenmenin gerekliliği bilinci; bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi | 3 |
PÖÇ09 | Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği | 9. Türkçe sözlü ve yazılı etkin iletişim kurma, ve en az bir yabancı dilde teknik yayın okuyup anlayabilme, rapor hazırlama ve sunum yapma becerisi | 2 |
PÖÇ10 | Yetkinlikler - Öğrenme Yetkinliği | Mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi | 3 |
PÖÇ11 | Yetkinlikler - Öğrenme Yetkinliği | 11. Proje yönetimi, işyeri uygulamaları, çalışanların sağlığı, çevre ve iş güvenliği, ve mühendislik uygulamalarının hukuksal sonuçları hakkında farkındalık | 3 |
PÖÇ12 | Yetkinlikler - Öğrenme Yetkinliği | 12. Mühendislik çözümlerinin ve uygulamalarının evrensel ve toplumsal boyutlardaki etkileri, girişimcilik ve yenilikçilik, ve çağın sorunları hakkında bilgi sahibi olmak | 2 |
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 |