CS 426 Parallel Computing

Parallel programming platforms: distributed memory, shared address space, accelerators. Principles of parallel algorithm design: decomposition techniques, tasks and interactions, mapping for load balancing, interaction overheads, parallel algorithm models (data-parallel, task-graph, work-pool, master-slave, pipeline). Basic communication operations. Analytical modeling of parallel programs: sources of parallel programming overhead, performance metrics for parallel systems, scalability of parallel systems (speedup, efficiency, cost, overhead function, isoefficiency, cost optimality, degree of concurrency, granularity), parallel programming paradigms: programming using MPI, programming shared address space platforms (threads, OpenMP, Intel Thread Building Blocks), programming GPU's (CUDA, OpenCL). Parallel computing kernels: matrix transposition, matrix-vector multiplication, matrix-matrix multiplication, matrix partitioning schemes for load-balancing and communication minimization. Credit units: 3 ECTS Credit units: 6.

Autumn Semester (Özcan Öztürk)

  | Bilkent University Main Page |

  Last regenerated automatically on September 20, 2017 by OAC - Online Academic Catalog Software.