Ders Adı Kodu Yarıyıl T+U Saat Kredi AKTS
Yüksek Başarımlı Hesaplama VBA 308 6 3 + 0 3 5
Ön Koşul Dersleri
Önerilen Seçmeli Dersler
Dersin Dili Türkçe
Dersin Seviyesi Lisans
Dersin Türü Zorunlu
Dersin Koordinatörü Arş.Gör. YASİN ALTUNBAŞAK
Dersi Verenler
Dersin Yardımcıları
Dersin Kategorisi Diğer
Dersin Amacı
Dersin İçeriği
# Ders Öğrenme Çıktıları Öğretim Yöntemleri Ölçme Yöntemleri
1 Paralel donanım mimarileri ve paralel yazılım teknikleri hakkında bilgi sahibi olur.
2 MPI kütüphanesini kullanarak dağıtık bellekli sistemler için yazılım geliştirir.
3 POSIX Threads ve OpenMP kütüphanelerini kullanarak seri programları paylaşımlı bellekli sistem üzerinde paralel çalışacak hale getirir.
4 Paralel programlamadaki yöntemlerin durumlara göre kullanım şekilleri hakkında fikir sahibi olur.
5 Grafik işlemci üzerindeki çekirdekleri üzerinde paralel hesaplamalar gerçekleştirir.
Hafta Ders Konuları Ön Hazırlık
1 Paralel programlamaya giriş
2 Seri ve paralel mimari yapılarının incelenmesi
3 Genel paralel yazılım kavramları
4 Mesaj İletim Arayüzü (MPI) - dağıtık bellekli sistem paralel programlama kütüphanesi
5 Mesaj İletim Arayüzü (MPI) - dağıtık bellekli sistem paralel programlama kütüphanesi
6 POSIX Threads (pthreads) - paylaşımlı bellekli sistem paralel programlama kütüphanesine giriş, çatallanma(forking) ve bağlanma (joining)
7 POSIX Threads kütüphanesinde durum değişkenleri (condition variables) ve oku-yaz kilitleri (read-write locks). Semafor kavramı ve kullanımı.
8 POSIX Threads kütüphanesinde durum değişkenleri (condition variables) ve oku-yaz kilitleri (read-write locks). Semafor kavramı ve kullanımı.
9 OpenMP - paylaşımlı bellekli sistem paralel programlama kütüphanesine giriş. Veri ve iş paylaşım yapıları.
10 OpenMP kütüphanesinde kanallar arasında veri bölüştürme, bellek paylaşımı ve indirgeme
11 OpenMP kütüphanesinde senkronizasyon yöntemleri.
12 CUDA ile grafik işlemci programlamaya giriş ve GPU yapıları
13 . CUDA ile GPU belleğine veri taşınması ve GPU fonksiyonu çağırma
14 CUDA ile GPU üzerinde çok boyutlu dizi işlemleri
Kaynaklar
Ders Notu

Paralel donanım mimarilerinin ve paralel yazılım tekniklerinin öğretilmesi. Öğrencilerin dağıtık bellekli sistemler için kullanılan MPI paralel programlama kütüphanesini kullanarak yazılımlar geliştirebilmesinin sağlanması. Paylaşımlı bellekli paralel programlama için kullanılan POSIX Threads ve OpenMP kütüphanelerinin özellik ve yöntemleri uygulamalar ve sonuçları üzerinden analiz edilmesi ve öğrencilerin de bu özellik ve yöntemleri kullanarak seri programları paralel kanallar üzerinde çalışacak hale getirecek uygulamalar yapması. Paralel grafik işlemci mimarilerini ve CUDA platformu üzerinde NVIDIA grafik işlemcileri üzerinde paralel program yazabilmeyi sağlayan program yapılarının anlaşılması.

Ders Kaynakları
Sıra Program Çıktıları Katkı Düzeyi
1 2 3 4 5
1 Veri Biliminde matematik konusunda yeterli bilgi birikimine ve bu alandaki kuramsal ve uygulamalı bilgileri, karmaşık veri bilimi problemlerinin çözümünde kullanabilme becerisine sahiptir.
2 Bilimsel araştırma yapabilme yeteneği ile elde edilen bilgiyi derinlemesine analiz edebilir ve yorumlayabilir
3 Analitik, modelleme ve deneysel araştırmaların tasarlanması ve uygulanması konusunda yetkinliğe; karmaşık veri setlerini analiz etme ve yorumlama yeteneğine sahiptir
4 Eksik veya kısıtlı veri setleriyle çalışarak bilgiyi tamamlayabilir ve farklı disiplinlerden gelen bilgileri entegre edebilir
5 Veri bilimi ve analitiği problemlerini tanımlama ve çözme becerisi için gerekli programlama becerisine sahiptir
6 Çok disiplinli takımlarda liderlik yapabilme, karmaşık problemlere yönelik çözüm stratejileri geliştirebilme, sorumluluk alma ve takım çalışmasına katkı sağlama becerisine sahiptir
7 Yenilikçi fikirler ve yöntemler geliştirme kabiliyetine; veri bilimi ve analitiği alanında veri işleme süreçlerinde yeni yaklaşımlar ortaya koyabilme becerisine sahiptir
8 Gereksinim duyulan veri ve bilgileri tanımlama, erişme ve değerlendirme, veri yönetimi ve analitiği alanında yetkindir.
9 Veri bilimi ve analitiği alanındaki güncel gelişmeleri takip edebilir, öğrenme ve yeni teknolojileri hızlı bir şekilde adapte edebilir
10 Yapılan çalışmaların sonuçlarını etkili bir şekilde aktarabilir ve teknik ve karmaşık konuları anlaşılır bir şekilde sunabilir
11 Veri bilimi ve analitiği uygulamalarının sosyal ve çevresel etkilerinin farkındadır ve bu bağlamda uyum sağlayabilir
12 Veri toplama, analiz etme ve raporlama süreçlerinde toplumsal, bilimsel ve etik değerler hakkında bilgi sahibidir; etik ilkeleri gözetir ve toplumun faydasını ön planda tutar
# Ders Öğrenme Çıktılarının Program Çıktılarına Katkısı PÇ 1 PÇ 2 PÇ 3 PÇ 4 PÇ 5 PÇ 6 PÇ 7 PÇ 8 PÇ 9 PÇ 10 PÇ 11 PÇ 12
1 Paralel donanım mimarileri ve paralel yazılım teknikleri hakkında bilgi sahibi olur.
2 MPI kütüphanesini kullanarak dağıtık bellekli sistemler için yazılım geliştirir.
3 POSIX Threads ve OpenMP kütüphanelerini kullanarak seri programları paylaşımlı bellekli sistem üzerinde paralel çalışacak hale getirir.
4 Paralel programlamadaki yöntemlerin durumlara göre kullanım şekilleri hakkında fikir sahibi olur.
5 Grafik işlemci üzerindeki çekirdekleri üzerinde paralel hesaplamalar gerçekleştirir.
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)