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 Prof.Dr. DEVRİM AKGÜN,
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

Kalkınma Amaçları
# Ders Öğrenme Çıktıları Öğretim Yöntemleri Ölçme Yöntemleri
1 To be able to understand the GPU architecture principles Gezi / Gözlem, Anlatım,
2 Memory Management and Thread Organization Anlatım, Gezi / Gözlem,
3 To understand basic GPU functions Anlatım, Gezi / Gözlem,
4 To develop an efficient GPU algorithm to solve a given problem. Anlatım, Gezi / Gözlem,
Hafta Ders Konuları Ön Hazırlık
1 Introduction to GPU Computing Haftalık sunumlar
2 CUDA Terminology - Kernels, Threads, Blocks Haftalık sunumlar
3 CUDA Terminology - Kernels, Threads, Blocks Haftalık sunumlar
4 Memory Management, Thread Organization Haftalık sunumlar
5 Memory Management, Thread Organization Haftalık sunumlar
6 CUDA execution model Haftalık sunumlar
7 Loop unrolling Haftalık sunumlar
8 Dynamic parallelism
9 Parallel Programming Patterns Haftalık sunumlar
10 Parallel Programming Patterns Haftalık sunumlar
11 Parallel Programming Patterns Haftalık sunumlar
12 Parallel Programming Patterns Haftalık sunumlar
13 Current topics, project presentations Haftalık sunumlar
14 Current topics, project presentations Haftalık sunumlar
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 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. X
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. X
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. X
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. X
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. X
# 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 To be able to understand the GPU architecture principles
2 Memory Management and Thread Organization
3 To understand basic GPU functions
4 To develop an efficient GPU algorithm to solve a given problem.
Değerlendirme Sistemi
Yarıyıl Çalışmaları Katkı Oranı
1. Ara Sınav 40
1. Proje / Tasarım 30
1. Ödev 15
2. Ödev 15
Toplam 100
1. Yıl İçinin Başarıya 50
1. Final 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 3 48
Proje / Tasarım 1 6 6
Ara Sınav 1 20 20
Final 1 20 20
Ödev 2 4 8
Toplam İş Yükü 150
Toplam İş Yükü / 25 (Saat) 6
Dersin AKTS Kredisi 6