Ders Adı Kodu Yarıyıl T+U Saat Kredi AKTS
Parallel Computıng SWE 507 0 3 + 0 3 6
Ön Koşul Dersleri
Önerilen Seçmeli Dersler
Dersin Dili İngilizce
Dersin Seviyesi YUKSEK_LISANS
Dersin Türü Seçmeli
Dersin Koordinatörü Prof.Dr. AHMET ÖZMEN
Dersi Verenler
Dersin Yardımcıları
Dersin Kategorisi Diğer
Dersin Amacı

Parallel computing is a major way of obtaining high performance. This course  aims to provide a deep understanding of the fundamental principals and engineering trade-offs involving in designing modern parallel programming techniques necessary to effectively utilize computing hardware systems.

 

 

Dersin İçeriği

This course covers shared memory and distributed parallel programming design approches. Performance evaluation techniques of parallel programs and otimization. During the course teaching, first a theoritical background is given and then some example applications are shown.    

Kalkınma Amaçları
# Ders Öğrenme Çıktıları Öğretim Yöntemleri Ölçme Yöntemleri
1 Develops parallel program solutions using shared memory programming model
2 Develops parallel program solutions using distributed memory model
3 Measures performance of a parallel application
Hafta Ders Konuları Ön Hazırlık
1 The need for performance: Parallelism and efficiency.
2 Shared memory versus distributed memory architectures. Multi core processors.
3 Parallel programming basics: Distributed and shared address space models.
4 Threads, processes: Work distribution and scheduling.
5 Parallel programming examples with C and Java.
6 Performance optimization: locality, communication and contention.
7 Data-Parallel Thinking: MapReduce on Hadoop.
8 Distributed Data-Parallel Computing Using Spark.
9 Example projects using Hadoop and Spark.
10 GPU architecture and CUDA Programming
11 Parallel programming examples with CUDA.
12 Memory Consistency
13 Project presentations
14 Project presentations
Kaynaklar
Ders Notu
Ders Kaynakları

https://gfxcourses.stanford.edu/cs149/fall23

Sıra Program Çıktıları Katkı Düzeyi
1 2 3 4 5
1 Yaşadığı toplumun bilgi toplumu olmasına katkıda bulunmak, toplumsal, bilimsel, kültürel ve etik sorunlara çözüm sunmak amaçlarıyla alanındaki bilimsel, teknolojik, sosyal veya kültürel ilerlemeleri ulusal ve uluslararası bilimsel ortamlarda (toplantılarda) tanıtır.
2 Alanında bilimsel araştırma yaparak bilgiye genişlemesine ve derinlemesine ulaşır, alanında güncel teknik ve yöntemler ile bunların kısıtları hakkında kapsamlı bilgiye sahip olup ve elde ettiği bilgiyi değerlendirir, yorumlar ve uygular.
3 Alanı ile ilgili problemleri tanımlar ve formüle eder, yeni ve/veya özgün fikir ve yöntemler geliştirir; karmaşık sistem veya süreçleri tasarlar ve tasarımlarında yenilikçi/alternatif çözümler ile gelişmekte olan yenilikçi yöntemleri kullanır.
4 Kuramsal, deneysel ve modelleme esaslı araştırmaları tasarlar ve uygular, belirsiz, sınırlı ya da eksik verileri bilimsel yöntemlerle tamamlar; verilerin toplanması, yorumlanması, duyurulması aşamalarında ve mesleki tüm etkinliklerde toplumsal, bilimsel ve etik değerleri gözetir.
5 Alanındaki uygulamaların sosyal, çevresel, sağlık, güvenlik, hukuki boyutlarını ve iş hayatı uygulamalarını bilir ve bunların getirdiği kısıtların farkındadır. Disiplin içi ve çok disiplinli takımlarda etkin bir biçimde birlikte ve ya bağımsız çalışabilir ve sorumluluk alır.
6 Her ölçekte yazılım sistemi için proje planlaması; zaman, kaynak, bütçe ve risk yönetimi yapar, alternatif çözüm yolları belirler.
# Ders Öğrenme Çıktılarının Program Çıktılarına Katkısı PÇ 1 PÇ 2 PÇ 3 PÇ 4 PÇ 5 PÇ 6
1 Develops parallel program solutions using shared memory programming model 5
2 Develops parallel program solutions using distributed memory model
3 Measures performance of a parallel application
Değerlendirme Sistemi
Yarıyıl Çalışmaları Katkı Oranı
Toplam 0
Toplam 0
AKTS - İş Yükü Etkinlik Sayı Süre (Saat) Toplam İş Yükü (Saat)