CS 525 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 GPUs (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: 5.
|
|
|
Bilkent University Main Page
Last regenerated automatically on November 18, 2024 by OAC - Online Academic Catalog Software
|
|