Ders Adı Kodu Yarıyıl T+U Saat Kredi AKTS
Gpu Programmıng SWE 519 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. DEVRİM AKGÜN
Dersi Verenler
Dersin Yardımcıları
Dersin Kategorisi Alanına Uygun Öğretim
Dersin Amacı

The objective is to understand a GPU architecture and APIs with practical applications. To be able to implement GPU programs for computation. To be able to use CUDA applications.

Dersin İçeriği

Introduction to GPU Computing, CUDA Terminology - Kernels, Threads, Blocks, Built-in Variables and Functions, Memory Management, Thread Organization, Parallel Algorithms, Reduction, Performance analysis, Atomic Functions

# Ders Öğrenme Çıktıları Öğretim Yöntemleri Ölçme Yöntemleri
1 To be able to understand the GPU architecture principles Problem Çözme, Anlatım, Ödev, Sınav,
2 Memory Management and Thread Organization Anlatım, Problem Çözme, Sınav, Ödev,
3 To understand basic GPU functions Anlatım, Problem Çözme, Sınav, Ödev,
4 To develop an efficient GPU algorithm to solve a given problem. Anlatım, Problem Çözme, Proje / Tasarım, Ödev, Sınav,
Hafta Ders Konuları Ön Hazırlık
1 Introduction to GPU Computing
2 CUDA Terminology - Kernels, Threads, Blocks
3 Built-in Variables and Functions
4 Memory Management, Thread Organization
5 GPU Architecture
6 Parallel Algorithms
7 Reduction, Scan
8 Midterm exam
9 Performance analysis
10 Parallel Reduction
11 Atomic Functions
12 Graphics Pipeline
13 Multiple GPUs
14 Project Presentations
Kaynaklar
Ders Notu
Ders Kaynakları

Cheng, John, Max Grossman, and Ty McKercher. Professional CUDA c programming. John Wiley & Sons, 2014.

Tuomanen, Brian. Hands-On GPU Programming with Python and CUDA: Explore high-performance parallel computing with CUDA. Packt Publishing Ltd, 2018.

Sıra Program Çıktıları Katkı Düzeyi
1 2 3 4 5
1 Lisans düzeyinde edinilen bilgileri derinleştirerek uygulamaya koyabilme. X
2 Analiz, sentez, eleştirel değerlendirme yeteneklerini geliştirerek karmaşık problemleri bağımsız olarak çözebilme. X
3 Bilişim problemlerinin çözümünde kullanılan analiz ve modelleme yöntemleri ile bunların kısıtları hakkında kapsamlı bilgi sahibi olma. X
4 Bilimsel yöntemler kullanarak veri toplayabilme, değerlendirebilme ve yorumlayabilme. X
5 Çok disiplinli takımlarda yer alarak farklı alanlardan gelen bilgileri kendi alanıyla bütünleştirerek çözüm yöntemleri belirleyebilme. X
6 Bilimsel bilgi birikimini yazılı ve sözlü olarak etkin bir şekilde ifade edebilme, en az bir yabancı dilde iletişim kurabilme.
7 Bilimsel gelişmeleri izleyerek kendini sürekli yenileyebilme.
8 Toplumsal, çevresel ve etik değerleri dikkate alarak bilimsel araştırma yürütebilme.
9 Proje planlaması ve zaman yönetimi yapabilme, alternatif çözüm yolları belirleyebilme.
10 Bilimsel araştırma sürecinde uygun araçları belirleyebilme ve bilişim teknolojilerini kullanabilme.
Değerlendirme Sistemi
Yarıyıl Çalışmaları Katkı Oranı
1. Ara Sınav 60
1. Ödev 10
2. Ödev 10
1. Proje / Tasarım 20
Toplam 100
1. Final 50
1. Yıl İçinin Başarıya 50
Toplam 100
AKTS - İş Yükü Etkinlik Sayı Süre (Saat) Toplam İş Yükü (Saat)
Ders Süresi (Sınav haftası dahildir: 16x toplam ders saati) 16 3 48
Sınıf Dışı Ders Çalışma Süresi(Ön çalışma, pekiştirme) 16 2 32
Ödev 2 10 20
Proje / Tasarım 1 10 10
Ara Sınav 1 15 15
Final 1 15 15
Toplam İş Yükü 140
Toplam İş Yükü / 25 (Saat) 5,6
Dersin AKTS Kredisi 6