| Ders Adı | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
|---|---|---|---|---|---|
| Paralel Hesaplama | BSM 444 | 8 | 3 + 0 | 3 | 5 |
| Ön Koşul Dersleri | |
| Önerilen Seçmeli Dersler | |
| Dersin Dili | Türkçe |
| Dersin Seviyesi | Lisans |
| Dersin Türü | Seçmeli |
| Dersin Koordinatörü | Dr.Öğr.Üyesi HÜSEYİN ESKİ |
| Dersi Verenler | |
| Dersin Yardımcıları | |
| Dersin Kategorisi | Diğer |
| Dersin Amacı | Paralel bilgi işleme ile ilgili güncel teknolojileri ve hesaplama yöntemlerini öğretmek. Paralel algoritmaların tasarımı ve analizini öğretmek. Farklı paralel hesaplama yöntemleri ve üstünlüklerini/eksikliklerini öğrenciye öğretmek. |
| Dersin İçeriği | Paralel hesaplama yöntemleri, algoritmalar ve paralel mimariler. Farklı mimariler için geliştirilmiş paralel programlama dillerinin örnek uygulamalar üzerinde gösterilmesi. Paralel programların performans ölçümlerinin yapılması ve analizi. |
| # | Ders Öğrenme Çıktıları | Öğretim Yöntemleri | Ölçme Yöntemleri |
|---|---|---|---|
| 1 | Paralel bilgisayar sistemlerinin yapısı ve çalışma prensiplerini açıklar | Anlatım, | |
| 2 | Paralel bilgisayar performansını sayısal olarak hesaplar | Anlatım, | |
| 3 | Paralel sistemlerdeki arabağlaşım devrelerini bilir | Anlatım, Soru-Cevap, Tartışma, | |
| 4 | Paralel programlama yöntemlerini bilir | Anlatım, Soru-Cevap, Tartışma, | |
| 5 | GPU ile programlama bilir | Anlatım, Tartışma, | |
| 6 | Paralel sistemlerde iş yükü dağılımı problemini bilir | Anlatım, Tartışma, | |
| 7 | Paralel performans izleme araçlarını kullanır | Anlatım, Tartışma, |
| Hafta | Ders Konuları | Ön Hazırlık |
|---|---|---|
| 1 | Paralel algoritma tasarımı | |
| 2 | Dekompozisyon teknikleri, hesaplama öğelerinin dağılımı ve planlama (mapping & scheduling) | |
| 3 | Ortak adresli sistemlerin programlanması: OpenMP, Cilk/Cilk++, Pthreads | |
| 4 | OpenMP ile uygulama geliştirme | |
| 5 | Cilk/Cilk++ ile uygulama geliştirme | |
| 6 | Pthreads ile uygulama geliştirme | |
| 7 | Paralel bilgisayar mimarileri: Paylaşımlı-bellekli paralel sistemler ve bu sistemlerde ön-bellek tutarlılığı, dağıtık-bellekli paralel sistemler, ara-bağlaşım devreleri ve yönlendirme | |
| 8 | Ölçeklenebilir sistemlerin programlanması, mesaj geçmeli sistemler: MPI ve PVM | |
| 9 | MPI ile uygulama geliştirme | |
| 10 | MPI ile uygulama geliştirme | |
| 11 | CUDA ile GPU programlama | |
| 12 | CUDA ile uygulama geliştirme | |
| 13 | Paralel programların performans ölçümü ve analizi | |
| 14 | Paralel performans ölçüm ve analiz uygulamaları |
| Kaynaklar | |
|---|---|
| Ders Notu | 1. Introduction to Parallel Computing, A. Grama, A. Gupta, G.Karypis, V. Kumar, Addison Wesley. |
| Ders Kaynakları | 1. Parallel Computing, Theory and practice, M.J.Quinn, McGraw Hill. 2. Parallel programming wiyh MPI, P.S. Pacheco.Morgan Kaufmann. 3. GPU Gems 1&2, Nvidia. |
| Sıra | Program Çıktıları | Katkı Düzeyi | |||||
|---|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | |||
| 1 a | Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; | ||||||
| 1 b | Bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi. | ||||||
| 2 a | Karmaşık mühendislik problemlerini tanımlama, formüle etme ve çözme becerisi; | ||||||
| 2 b | Bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. | ||||||
| 3 | Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. | X | |||||
| 4 | Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. | X | |||||
| 5 a | Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama becerisi. | ||||||
| 5 b | Deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi. | ||||||
| 6 a | Disiplin içi takımlarda etkin biçimde çalışabilme becerisi. | ||||||
| 6 b | Çok disiplinli takımlarda etkin biçimde çalışabilme becerisi. | ||||||
| 6 c | Bireysel çalışma becerisi. | ||||||
| 7 a | Sözlü ve yazılı etkin iletişim kurma, etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme becerisi, | ||||||
| 7 b | En az bir yabancı dil bilgisi. | ||||||
| 7 c | Etkin sunum yapabilme becerisi. | ||||||
| 7 d | Açık ve anlaşılır talimat verme ve alma becerisi. | ||||||
| 8 | Yaşam boyu öğrenmenin gerekliliği konusunda farkındalık; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. | X | |||||
| 9 a | Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk hakkında bilgi, | ||||||
| 9 b | Mühendislik uygulamalarında kullanılan standartlar hakkında bilgi. | ||||||
| 10 a | Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; | ||||||
| 10 b | Girişimcilik, yenilikçilik hakkında farkındalık | ||||||
| 10 c | Sürdürülebilir kalkınma hakkında bilgi. | ||||||
| 11 a | Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; | ||||||
| 11 b | Mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık. | ||||||
| 12 | Bilişim Teknolojilerinin yönetim, denetim, gelişim ve güvenliği/güvenilirliği hakkında bilgi sahibi olma ve farkındalık, | X | |||||
| # | Ders Öğrenme Çıktılarının Program Çıktılarına Katkısı | PÇ 1 a | PÇ 1 b | PÇ 2 a | PÇ 2 b | PÇ 3 | PÇ 4 | PÇ 5 a | PÇ 5 b | PÇ 6 a | PÇ 6 b | PÇ 6 c | PÇ 7 a | PÇ 7 b | PÇ 7 c | PÇ 7 d | PÇ 8 | PÇ 9 a | PÇ 9 b | PÇ 10 a | PÇ 10 b | PÇ 10 c | PÇ 11 a | PÇ 11 b | PÇ 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Paralel bilgisayar sistemlerinin yapısı ve çalışma prensiplerini açıklar | ||||||||||||||||||||||||
| 2 | Paralel bilgisayar performansını sayısal olarak hesaplar | ||||||||||||||||||||||||
| 3 | Paralel sistemlerdeki arabağlaşım devrelerini bilir | ||||||||||||||||||||||||
| 4 | Paralel programlama yöntemlerini bilir | ||||||||||||||||||||||||
| 5 | GPU ile programlama bilir | ||||||||||||||||||||||||
| 6 | Paralel sistemlerde iş yükü dağılımı problemini bilir | ||||||||||||||||||||||||
| 7 | Paralel performans izleme araçlarını kullanır |
| Değerlendirme Sistemi | |
|---|---|
| Yarıyıl Çalışmaları | Katkı Oranı |
| 1. Ara Sınav | 70 |
| 1. Kısa Sınav | 10 |
| 1. Ödev | 10 |
| 2. Kısa Sınav | 10 |
| 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 |
| Ara Sınav | 1 | 10 | 10 |
| Kısa Sınav | 2 | 5 | 10 |
| Ödev | 1 | 5 | 5 |
| Final | 1 | 15 | 15 |
| Toplam İş Yükü | 136 | ||
| Toplam İş Yükü / 25 (Saat) | 5,44 | ||
| dersAKTSKredisi | 5 | ||