Skip to main content
Skip header

Parallel Programming I

Summary

The course provides the students with working knowledge in the area of parallel systems, algorithms and programming. It concentrates on practical development of parallel codes so that the students can make effective use of the modern powerful hardware, from supercomputers to multicore notebooks, for solution of demanding tasks from various application fields. The so-called multicomputers, where the interaction of parallel processes is based on message passing, are focused on, but the specifics of shared-memory systems (symmetric multiprocessors) are discussed as well. Such a traditional techniques of parallel programming will be supplemented by an introduction to advanced technologies that were recently introduced, (e.g. GPGPU programming and parallel Matlab). Exercises are devoted to the design of parallel algorithms and their implementation in the PVM, MPI, OpenMP environment or possibly parallel Matlab, on the most powerful computer systems of VŠB-TUO/CVT, nowadays on the network of workstations Ultra with remote access to the 32-processor cluster Teri (128 cores) and to the four-processor symmetric multiprocessor Quad.

Literature

Syllabus
I. Foster: Designing and building of parallel programs. Addison-Wesley, 1995
Al Geist et al.: PVM: Parallel Virtual Machine. A User's Guide and Tutorial for Networked Parallel Computing. The MIT Press, 1994.
MPI: A Message-Passing Interface Standard. Message Passing Interface Forum, University of Tennessee, June 1995.

Advised literature

K. Ježek et al.: Paralelní architektury a programy. ZČU Plzeň, 1997. (In Czech)
B. Wilkinson, M. Allen: Parallel Programming. Prentice Hall, 1999.
R. Chandra et al.: Parallel Programming in OpenMP. Morgan Kaufmann Publishers, 2001.


Language of instruction čeština
Code 460-4040
Abbreviation PPA I
Course title Parallel Programming I
Coordinating department Department of Computer Science
Course coordinator prof. Ing. Pavel Krömer, Ph.D.