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 |