Faculty of Information Technology, BUT

Course details

Applications of Parallel Computers

PDD Acad. year 2007/2008 Winter semester

The course gives an overview of usable parallel platforms and models of programming, mainly shared-memory programming (OpenMP) and message passing (MPI). A parallelization methodology is completed by performance studies and applied to frequently touched areas such as: dense and sparse linear algebra, graph partitioning, discrete optimization, PDEs, N-body problem, simulation, graphics and visualization, knowledge mining, and the like. The emphasis is put on practical aspects and implementation, frequent examples complete the treatment.


Language of instruction



Examination (written+oral)

Time span

39 hrs lectures

Assessment points



Subject specific learning outcomes and competences

To learn how to parallelize various classes of problems and predict their performance. 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 parallel programming (MPI, OpenMP). Write and debug a parallel program for a selected task.

Generic learning outcomes and competences

Parallel architectures with distributed and shared memory,  programming in C/C++ with MPI and OpenMP, parallelization of basic numerical methods.

Learning objectives

To clarify possibilities of parallel programming on clusters, SMPs a multi-core processors. Get to know a method of parallelization and performance prediction of selected real-world applications, the design of correct programs and the use parallel computing in practice.


Prerequisite kwnowledge and skills

Types of parallel computers, programming in C/C++, basic numerical methods

Study literature

Fundamental literature

  • Quinn, Michael J: Parallel Programming in C with MPI and OpenMP. McGraw Hill, 2004, 529 p., ISBN: 0072822562.
  • Dvořák, V.: Architektura a programování paralelních systémů. Skriptum FIT VUT v Brně, 2004, 170 s., ISBN 80-214-2608-X. 

Syllabus of lectures

  • Parallel computer architectures
  • Shared variable and message-passing programming: OpenMP and MPI.
  • Foster's method of parallelization, performance measures and prediction
  • Parallel linear algebra 1
  • Parallel linear algebra 2
  • Graph partitioning
  • Disrete optimization
  • PDEs
  • N-body problem
  • Parallel and distributed simulation
  • Graphics and visualization 
  • Data and knowledge mining
  • Languages, compilers, libraries, and tools.

Controlled instruction

Defence of a software project based on a variant of parallel programming.

Course inclusion in study plans

Back to top