Ders Adı | Kodu | Verildiği Yıl | Verildiği Yarıyıl | Süresi (T+U) | Yerel Kredisi | AKTS Kredisi |
Grafik İşlem Birimi Hesaplama | CENG 545 | 5 | 10 | 3 + 0 | 3 | 7,50 |
|
Ders Bilgileri |
Dersin Öğretim Dili | İngilizce |
Dersin Seviyesi | Yüksek Lisans |
Dersin Türü | Seçmeli |
Dersin Veriliş Biçimi | Yüz Yüze |
|
Dersin Öğrenme Kazanımları:
Bu dersi başarı ile tamamlayan öğrenciler: |
1. GPU hesaplama için CUDA konusunda teorik bilgiye ve pratik deneyime sahip olur. |
2. GPU'larda zaman alan bilgi işlem sorunlarını çözer. |
3. Paralel programlama hakkında bilgi sahibi olur. |
4. GPU programlama ortamlarını karşılaştırmak |
|
Dersin Önkoşulları ve Birlikte Alınması Gereken Dersler | Yok |
Daha Önce Alınmış Olması Önerilen Dersler | Yok |
|
Dersin Tanımı:
Grafik İşlemci Üniteleri (GPU’lar), paralel uygulamaları yüksek verimlilikle çalıştırmak için uygun hale getiren yüzlerce küçük işlem birimi (pipeline) içerir. GPU’lar, performans ve programlanabilirlik açısından hızla gelişmekte olup, zaman alıcı hesaplama problemleri için büyük bir uygulama potansiyeli sunmaktadır. Bu ders, yoğun paralel hesaplama kaynaklarıyla uygulama geliştirme konusunda bilgi ve pratik deneyim kazandırmayı amaçlamaktadır. Öğrenciler, GPU'lar üzerinde yazılım tasarlayabilecek, geliştirebilecek ve optimize edebileceklerdir. Dersin laboratuvar bölümünde NVIDIA işlemcileri ve CUDA programlama aracı kullanılacaktır. Tüm programlama C dili tabanlı ortamlarda yapılacağından, C programlama dili konusunda iyi bir bilgi seviyesi gerekmektedir. |
|
Dersin İçeriği (Haftalık Konu Dağılımı): |
|
Hafta | Konu |
1 | GPU Hesaplamaya Giriş |
2 | Cuda'ya Giriş |
3 | OpenCL e giriş |
4 | Thread Organizasyonu |
5 | Temel Optimizasyonlar 1 - Küresel Bellek |
6 | Temel Optimizasyonlar 2 - Paylaşılan Bellek |
7 | Sabit Bellek ve Olaylar, Doku Belleği |
8 | Kayan Nokta Performansı |
9 | Paralel Programlama ve Hesaplamalı Düşünme |
10 | Sayfa Kilitli ve Sıfır Kopyalı Ana Bilgisayar Belleği |
11 | Atomik Fonksiyonlar |
12 | Çoklu GPU |
13 | Proje Sunumları |
|
Kaynaklar: |
Kirk, D. B., & Hwu, W.-m. W. (2022). Programming Massively Parallel Processors: A Hands-on Approach (4th ed.). Morgan Kaufmann. |
|
Diğer Kaynaklar: |
|
|
Öğretim Yöntem ve Teknikleri: |
Haftalık 3 saatlik ders. C/C++ ya da MATLAB programlama bilgisi gereklidir. |
|
Değerlendirme Sistemi: |
Yöntem | Adet | Katkı (%) |
Ara Sınav | 1 | %15 |
Final Sınavı | 1 | %25 |
Ödev | 3 | %35 |
Proje | 1 | %25 |
|
Ders İşbaşı Eğitimi (iş yerinde eğitim) Gerektiriyor mu? |
Gerektirmiyor |