Genel Bilgi
| Birim | MÜHENDİSLİK FAKÜLTESİ |
| BİLGİSAYAR MÜHENDİSLİĞİ PR. (İNGİLİZCE) | |
| 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 |
Değerlendirme (Sınav) Yöntemleri ve Kriterleri
Güncel dönem payları henüz belirlenmemiştir. Bir önceki dönem payları gösterilmektedir.
| Değerlendirme Türü | Yarıyıl İçi / Yıl İçi Etkisi | Yarıyıl Sonu / Yıl Sonu Etkisi |
|---|---|---|
| 1. Ara Sınav | 100 | 40 |
| Genel Değerlendirme | ||
| Yarıyıl İçi / Yıl İçi Toplam | 100 | 40 |
| 1. Yıl Sonu Sınavı | - | 60 |
| Genel Toplam | - | 100 |
Öğ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 | ||