Course details
Parallel and Distributed Programming
PDD Acad. year 2004/2005 Winter semester
The course gives a global overview of parallel programming with the orientation on high performance in scientific computing. Clarification is made of fundamental concepts, process and thread interaction techniques and the means of their description by language constructs in OpenMP and MP with regard to performance. The emphasis is put on practical aspects and implementation, frequent examples complete the treatment.
Guarantor
Language of instruction
Completion
Time span
- 39 hrs lectures
Department
Subject specific learning outcomes and competences
To learn how to write parallel programs for solution of real problems. To be able to utilize parallelism and communication at thread- and process level. To get acquainted with state-of-the-art standard interfaces, language extensions and other tools for the types of parallel programming above.
Learning objectives
To clarify core concepts and techniques of parallel programming. To learn solving problems in parallel, the design of correct programs and get to know selected real-world parallel applications.
Recommended prerequisites
Prerequisite knowledge and skills
There are no prerequisites
Study literature
Fundamental literature
- Pacecho, P.: Introduction to Parallel Programming. Morgan Kaufman Publishers, 2011, 392 s., ISBN: 9780123742605
- Kirk, D., and Hwu, W.: Programming Massively Parallel Processors: A Hands-on Approach, Elsevier, 2010, s. 256, ISBN: 978-0-12-381472-2
Syllabus of lectures
- Parallel Architectures
- Performance Analysis
- Parallel Algorithm Design
- Message-Passing Programming, MPI
- Collective Communications
- Shared-Memory Programming, OpenMP
- Thread Synchronization
- Combining MPI and OpenMP
- Parallel Linear Algebra
- Finite Difference Methods
- Parallel Sorting
- Parallel Solution of Discrete Optimization Tasks
- Parallel Signal and Image Processing
Progress assessment
Study evaluation is based on marks obtained for specified items. Minimimum number of marks to pass is 50.
Controlled instruction
Defence of a software project based on a variant of parallel programming.