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.

Credit3ECTS5FacultyFaculty of EngineeringBölümComputer EngineeringPreCS 342

Değerlendirme 97% — 3 adım

25%
30%
42%
Midterm Midterm 25%
Final Final 30%
Project Project 42%

Önerilen kaynaklar 1 kitap

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

Haftalık müfredat 14 hafta

Hafta 1
Motivating Parallelism Scope of Parallel Computing Organization and Contents of the Text
Hafta 2
Implicit Parallelism: Trends in Microprocessor Architectures Limitations of Memory System Performance
Hafta 3
Parallel Programming Platforms Dichotomy of Parallel Computing Platforms Physical Organization of Parallel Platforms Communication Costs in Parallel Machines Shared Address Space Parallelization: OpenMP
Hafta 4
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
Hafta 5
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
Hafta 6
Principles of Parallel Algorithm Design Decomposition Techniques Characteristics of Tasks and Interactions Mapping Techniques for Load Balancing
Hafta 7
Principles of Parallel Algorithm Design Methods for Containing Interaction Overheads Parallel Algorithm Models
Hafta 8
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
Hafta 9
Programming Using the Message Passing Paradigm Topologies and Embedding Overlapping Communication with Computation Collective Communication and Computation Operations Groups and Communicators
Hafta 10
Parallel Programming Concepts • Coverage • Granularity • Locality Advanced MPI
Hafta 11
GPU Programming: CUDA
Hafta 12
GPU Programming: CUDA
Hafta 13
Parallelization of Kernel operations: GEMM • SpGEMM • SpMV • SpMM
Hafta 14
Parallelization of ML applications: Tensor Decomposition • SGD • GNN

🤖 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.

⚠️ 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 1 bu dönem · 1 geçmiş

Bu dönem (2025-2026 Spring) · 1 section
Cevdet Aykanat
Geçmişte ders veren (1 kişi)
Özcan Öztürk