CMP5208 GPUs ile Paralel HesaplamaBahçeşehir ÜniversitesiAkademik Programlar BİLGİ TEKNOLOJİLERİ (TÜRKÇE, TEZLİ)Öğrenciler için Genel BilgiDiploma EkiErasmus BeyanıBologna KomisyonuUlusal Yeterlilikler
BİLGİ TEKNOLOJİLERİ (TÜRKÇE, TEZLİ)
Yüksek Lisans TYYÇ: 7. Düzey QF-EHEA: 2. Düzey EQF-LLL: 7. Düzey

Ders Tanıtım Bilgileri

Ders Kodu Ders Adı Yarıyıl Teorik Pratik Kredi AKTS
CMP5208 GPUs ile Paralel Hesaplama Bahar
Güz
3 0 3 12
Bu katalog bilgi amaçlıdır, dersin açılma durumu, ilgili bölüm tarafından yarıyıl başında belirlenir.

Temel Bilgiler

Öğretim Dili: Türkçe
Dersin Türü: Departmental Elective
Dersin Seviyesi: LİSANSÜSTÜ
Dersin Veriliş Şekli:
Dersin Koordinatörü: Dr. Öğr. Üyesi ECE GELAL SOYAK
Dersin Amacı: Bu dersin amacı, paralel hesaplamayı ve GPU'lar gibi yüksek paralel işlemciler için uygulama geliştirmeyi tanıtmaktır. Sürücüsüz arabalar, makine öğrenimi ve artırılmış gerçeklik gibi gerçek dünya uygulamaları paralel hesaplama kullanımının başlıca örnekleridir. Ders, hesaplamalı düşünme, çeşitli paralellik biçimleri, programlama modelleri, görevleri paralel donanıma eşleme, veri yapılarını optimize etme, verimli paralel algoritmalar tasarlamak için paradigmalar üzerinde durmakta ve pratik uygulamaların vaka çalışmalarını içermektedir.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
- Paralel programlama modellerini yüksek performanslı donanımlarda (ör. GPU) hesaplama görevleri için kullanabilme.
- Paralel uygulamaların geliştirilmesi ve optimize edilmesi de dahil olmak üzere CUDA (NVIDIA işlemciler için) kullanarak GPU programlama konusunda uygulamalı deneyim kazanma.
- Hesaplama açısından yoğun görevlerin performansını artırmak için verimli veri yapılarını ve paralel paradigmaları uygulama.
- Paralel hesaplama teknolojilerini kullanarak çeşitli alanlardaki zorlukların üstesinden gelmek için paralel hesaplama uygulamalarının vaka çalışmalarını analiz etme ve değerlendirme.

Dersin İçeriği

Temel konular arasında grafik işlemciler için popüler programlama arayüzleri (NVIDIA GPU'ları için CUDA gibi), grafik işlemcilerin iç mimarisi ve bunun performans üzerindeki etkisi ve bu işlemciler üzerinde paralel algoritmaların uygulanması yer alacaktır. Kurs yaklaşık 29 dersten oluşmakta ve beş uygulamalı ödev ve bir final projesi de dahil olmak üzere önemli programlama görevleri içermektedir.

Haftalık Ayrıntılı Ders İçeriği

Hafta Konu Ön Hazırlık
1) Paralel Hesaplama ve GPU Mimarisine Giriş; CUDA ve GPU programlama (NVIDIA GPU'lar)
2) GPU Hızlandırmalı Veri Yapıları (örn. paralel listeler, kuyruklar, ağaçlar)
3) CUDA'da Bellek Erişimini Optimize Etme; Önbellek optimizasyonu ve banka çakışmaları
4) Gelişmiş CUDA Özellikleri: Akışlar, asenkron işlemler, olaylar ve zamanlama, hata işleme
5) CUDA Programlama Temelleri; CUDA çekirdeğini uygulama, bellek erişim modellerini keşfetme
6) GPU'larda Paralel Algoritmalar; indirgeme, tarama, sıralama ve matris işlemleri
7) GPU Hızlandırmalı Veri Yapıları (örn. paralel listeler, kuyruklar, ağaçlar)
8) Örnek Çalışma 1: GPU'larda Makine Öğrenimi; cuBLAS, cuDNN kütüphanelerini kullanarak GPU hızlandırma
9) Örnek Çalışma 2: Görüntü işleme, nesne algılama ve hareket planlama için paralel programlama teknikleri
10) Optimizasyon için Gelişmiş CUDA Teknikleri; doluluk, warp düzeyinde programlama ve komut düzeyinde optimizasyon.
11) NVIDIA araçlarını (Nsight, Visual Profiler) kullanarak performans profili oluşturma ve darboğaz analizi
12) Proje sunumları
13) Proje sunumları

Kaynaklar

Ders Notları / Kitaplar:
Diğer Kaynaklar: D. Kirk and W. Hwu, Programming Massively Parallel Processors: A Hands­on Approach, Third Edition

Değerlendirme Sistemi

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Toplam %
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 0
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI %
Toplam %

AKTS / İş Yükü Tablosu

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 14 3 42
Proje 1 35 35
Ödevler 3 12 36
Final 1 25 25
Toplam İş Yükü 138

Program ve Öğrenme Kazanımları İlişkisi

Etkisi Yok 1 En Düşük 2 Düşük 3 Orta 4 Yüksek 5 En Yüksek
           
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) Bilgi teknolojileri alanındaki bilimsel literatürü takip eder, eleştirel bir yaklaşımla analiz eder ve karmaşık BT problemlerinin çözümünde etkin biçimde kullanır.
2) Bilgi teknolojileriyle ilgili özgün projeler tasarlar, planlar, uygular ve proje yönetimi süreçlerini etkin biçimde yürütür.
3) Bilgi teknolojileri alanındaki çalışmaları bağımsız olarak yürütür, bilimsel sorumluluk alır ve elde edilen bulguları eleştirel bir bakış açısıyla değerlendirir.
4) Yürüttüğü araştırma ve projelerin sonuçlarını, akademik ve sektörel standartlara uygun biçimde yazılı, sözlü ve görsel olarak etkili bir şekilde sunar.
5) Alanla ilgili uzmanlık gerektiren konularda bağımsız araştırmalar yapar, yenilikçi ve özgün fikirler geliştirir, bu bilgileri teknolojiye ve uygulamaya dönüştürür.
6) Bilgi teknolojileri alanına özgü ileri düzey kuramsal bilgileri ve uygulamalı becerileri etkin biçimde kullanır; güncel yazılım, donanım ve sistem çözümlerini analiz eder ve geliştirir.
7) Mesleki, bilimsel ve etik ilkelere uygun hareket eder; bilgi teknolojileri uygulamalarının toplumsal, çevresel ve etik etkilerini gözeterek sorumluluk alır.