Course details

Parallel and Distributed Programming

PDD Acad. year 2004/2005 Winter semester

Current academic year

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

Czech, English

Completion

Examination

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.

Back to top