defter*
defter / katalog / CS 426
CS 426

Parallel Computing

Parallel computing is about taking a problem that's too slow or too big for one core and figuring out how to split the work across many, which sounds simple until you hit the real constraints of communication cost, load imbalance, and overheads that quietly erase your speedup. Across four projects you'll write actual parallel code in the three paradigms that matter in practice (MPI for distributed memory, OpenMP/threads for shared memory, CUDA for GPUs), and learn to reason about scalability formally through metrics like efficiency, isoefficiency, and cost-optimality rather than just timing your runs. Sitting on top of CS 223/CS 342, it's the course that turns "I know how computers work" into "I can make a cluster or a GPU actually deliver its peak," which is the baseline skill for HPC, ML systems, and anything compute-bound.

Kredi3ECTS5FakülteFaculty of EngineeringBölümComputer EngineeringÖn koşulCS 342KoordinatörCevdet Aykanat

Haftalık müfredat 14 hafta

Hafta 114–20 Eyl
Parallel computing'in kapsamı ve motivasyonu
Motivating Parallelism Scope of Parallel Computing Organization and Contents of the Text
parallelismparallel computingkitabın içeriği
Hafta 221–27 Eyl
Implicit parallelism ve memory system sınırları
Implicit Parallelism: Trends in Microprocessor Architectures Limitations of Memory System Performance
implicit parallelismmicroprocessor architecturesmemory system performance
Hafta 328 Eyl – 4 Eki
Paralel platformlar ve OpenMP ile paralelleştirme
Parallel Programming Platforms Dichotomy of Parallel Computing Platforms Physical Organization of Parallel Platforms Communication Costs in Parallel Machines Shared Address Space Parallelization: OpenMP
parallel platformcommunication costshared address spaceOpenMP
Hafta 45–11 Eki
Message passing paradigması ve MPI
Parallel Programming Platforms Routing Mechanisms for Interconnection Networks Programming Using the Message Passing Paradigm Principles of Message-Passing Programming The Building Blocks: Send and Receive Operations MPI: The Message Passing Interface
routing mechanismmessage-passingsend/receiveMPI
Hafta 512–18 Eki
Temel paralel iletişim işlemleri
Basic Communication Operations One-to-All Broadcast and All-to-One Reduction All-to-All Broadcast and Reduction All-Reduce and Prefix-Sum Operations Scatter and Gather All-to-All Personalized Communication Circular Shift Improving the Speed of Some Communication Operations
one-to-all broadcastall-to-all broadcastall-reduce ve prefix-sumscatter/gather ve circular shift
Hafta 619–25 Eki
Parallel algorithm tasarımı: decomposition ve load balancing
Principles of Parallel Algorithm Design Decomposition Techniques Characteristics of Tasks and Interactions Mapping Techniques for Load Balancing
decomposition techniquestasks and interactionsmapping techniquesload balancing
Hafta 726 Eki – 1 Kas
Interaction overhead azaltma ve parallel algorithm models
Principles of Parallel Algorithm Design Methods for Containing Interaction Overheads Parallel Algorithm Models
interaction overheadsparallel algorithm models
Hafta 82–8 Kas
Paralel programların analitik modellenmesi
Analytical Modeling of Parallel Programs Sources of Overhead in Parallel Programs Performance Metrics for Parallel Systems Effect of Granularity and Data Mapping on Performance Scalability of Parallel Systems Minimum Execution Time and Minimum Cost-Optimal Execution Time
overheadperformance metricsgranularityscalability
Hafta 99–15 Kas
Message Passing Paradigm ile Programlama
Programming Using the Message Passing Paradigm Topologies and Embedding Overlapping Communication with Computation Collective Communication and Computation Operations Groups and Communicators
message passingtopologies and embeddingcollective communicationgroups and communicators
Hafta 1016–22 Kas
Paralel programlama kavramları ve advanced MPI
Parallel Programming Concepts • Coverage • Granularity • Locality Advanced MPI
coveragegranularitylocalityMPI
Hafta 1123–29 Kas
GPU programlama: CUDA
GPU Programming: CUDA
GPU programmingCUDA
Hafta 1230 Kas – 6 Ara
GPU programlama: CUDA
GPU Programming: CUDA
GPU programmingCUDA
Hafta 137–13 Ara
Kernel işlemlerinin paralelleştirilmesi
Parallelization of Kernel operations: GEMM • SpGEMM • SpMV • SpMM
GEMMSpGEMMSpMVSpMM
Hafta 1414–20 Ara
ML uygulamalarının paralelleştirilmesi
Parallelization of ML applications: Tensor Decomposition • SGD • GNN
tensor decompositionSGDGNN

Değerlendirme 97% · 3 adım

25%
30%
42%
Midterm Midterm 25%
Final Final 30%
Project Project 42%
en büyük tek kalem %42 · sınav ağırlığı %57 · 15 dönem ortalaması 2.87 (404 öğrenci) nasıl hesaplanıyor

Önerilen kaynaklar 1 kitap

📕
Zorunlu
Introduction to Parallel Computing
Grama, Gupta
Karypis · Kumar

Bu dersi alınca · 3 öğrenme çıktısı

Bilkent'in resmî syllabus'ünden. Sağdaki etiket o çıktının hangi değerlendirmeyle ölçüldüğünü söylüyor.

🤖 GenAI politikası

Any use of genAI tools in a homework/project assignment must be appropriately

Ders notları · henüz yok

CS 426 için defter ekibi henüz not yazmadı.

İlk dosyayı sen atarsan: not, slayt, geçmiş sınav, çözüm, cheat-sheet, ne varsa. defter ekibi öğrenci paylaşımlarından bu dersin notlarını yazar. Drive linki / PDF / ZIP, hepsi olur.

← katalog

Geçmiş GPA dağılımı 15 dönem · ort. 2.87

DönemCourse CPA
2024-2025 Spring 2.73 1 sec · 49 öğr
2023-2024 Fall 2.78 1 sec · 16 öğr
2022-2023 Fall 3.00 1 sec · 4 öğr
2022-2023 Spring 2.92 1 sec · 14 öğr
2021-2022 Fall 2.21 1 sec · 11 öğr
2020-2021 Fall 3.05 1 sec · 20 öğr
2020-2021 Summer 2.79 1 sec · 13 öğr
2019-2020 Spring 3.39 1 sec · 16 öğr
2018-2019 Spring 3.34 1 sec · 34 öğr
2017-2018 Fall 2.98 1 sec · 45 öğr

Aggregate course GPA · Bilkent STARS'tan public data. Hoca-bazlı per-section detayı için STARS evaluation report →. Öğrenci anket cevapları KVKK kapsamında defter'de tutulmaz. Tüm derslerin ortalamaları →

2026-2027 Güz için şubesi henüz görünmüyor. Kayıt sistemi bu dersi bu dönem listelemiyor, ama şube girişi sürüyor: ders kaydı 15 Eylül, bölümler o güne kadar şube ekleyebiliyor. Son 4 güz döneminin 2 tanesinde açılmış; her yıl açılan bir ders değil. Ön kayıt müfredat üzerinden yapılıyor, açılan şube listesi üzerinden değil; o yüzden ön kayıtta seçebildiğin bir dersin şubesi burada henüz görünmeyebilir. Kesin sonuç ders kaydında belli oluyor. kayıt tarihleri → · açık dersler

⚠️ FZ engelleyen şartlar

Course Learning Outcomes: Course Learning Outcome Assessment Use performance analysis tools and software pacakages to estimate parallel performance improvement and optimization opportunities Project Implement parallel algorithms using different parallel paradigms including OpenMP, MPI, pThreads, and GPU programming Midterm Final Project Design and implement parallel programs using parallel algorithm design methods and analytical modeling of parallel programs Project

Hocalar 0 bu dönem · 2 geçmiş

Geçmişte ders veren (2 kişi)
Cevdet Aykanat, Özcan Öztürk