CEN463 Parallel Programming

6 AKTS - 3-0 Süre (T+U)- 7. Yarıyıl- 3 Yerel Kredi

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

Güncelleme Zamanı: 11.05.2024 05:53