| 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, | Sınav, |
| 2 | Paralel bilgisayar performansını sayısal olarak hesaplar | Anlatım, | Sınav, |
| 3 | Paralel sistemlerdeki arabağlaşım devrelerini bilir | Anlatım, Soru-Cevap, Alıştırma ve Uygulama, | Sınav, Ödev, |
| 4 | Paralel programlama yöntemlerini bilir | Anlatım, Soru-Cevap, Alıştırma ve Uygulama, | Sınav, Ödev, |
| 5 | GPU ile programlama bilir | Anlatım, Alıştırma ve Uygulama, | Sınav, Ödev, |
| 6 | Paralel sistemlerde iş yükü dağılımı problemini bilir | Anlatım, Alıştırma ve Uygulama, | Sınav, Ödev, |
| 7 | Paralel performans izleme araçlarını kullanır | Anlatım, Alıştırma ve Uygulama, | Sınav, Ödev, |
| 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 | Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi. | X | |||||
| 2 | Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. | X | |||||
| 3 | Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. | X | |||||
| 4 | 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 | |||||
| 5 | Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi. | X | |||||
| 6 | 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 | |||||
| 7 | Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. | X | |||||
| 8 | Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi. | X | |||||
| 9 | Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. | X | |||||
| 10 | Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi. | X | |||||
| 11 | Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi. | X | |||||
| 12 | 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; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık. | 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 | PÇ 7 | PÇ 8 | PÇ 9 | PÇ 10 | PÇ 11 | 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 | ||