IT4130E Parallel and Distributed Programming
SoICT

Course description
Objectives: This course introduces an overview of parallel and distributed programming, applying to solve high-performance problems, runing on parallel or distributed computing platforms. The course consists of following topics: parallel and distributed computational architectures such as multi-threaded architecture, multi-core computational architecture, general purpose GPUs; how to design parallel algorithms for high-performance problems; Parallel programming models such as OpenMP, MPI, CUDA; write parallel programs for several typical problems such as matrix computation, graph, sorting, partial differential equation, ... After the course, students can build algorithms themselves and write parallel program using different parallel programming models, applied to many highperformance problems in practice.
Content: The course consists of following topics: parallel and distributed computational architectures such as multi-threaded architecture, multi-core computational architecture, general purpose GPUs; how to design parallel algorithms for high-performance problems; Parallel programming models such as OpenMP, MPI, CUDA; write parallel programs for several typical problems such as matrix computation, graph, sorting, partial differential equation
Requirements
Prerequisite:
- Introduction to Programming
Prior course:
Paralell course: