SubjectsSubjects(version: 837)
Course, academic year 2018/2019
   Login via CAS
Programming in Parallel Environment - NPRG042
Title in English: Programování v paralelním prostředí
Guaranteed by: Department of Software Engineering (32-KSI)
Faculty: Faculty of Mathematics and Physics
Actual: from 2016 to 2019
Semester: summer
E-Credits: 6
Hours per week, examination: summer s.:2/2 C+Ex [hours/week]
Capacity: unlimited
Min. number of students: unlimited
State of the course: taught
Language: Czech
Teaching methods: full-time
Additional information:
Guarantor: RNDr. Jakub Yaghob, Ph.D.
Class: Informatika Mgr. - Softwarové systémy
Classification: Informatics > Programming
Is pre-requisite for: NPRG058
Annotation -
Last update: T_KSI (19.04.2007)
Multi-core processors yield the possibility making parallel computations on standard computers. Implementing an application using parallelisms is a nontrivial matter. The goals of the course are an theoretical and practical introduction to contemporary software technologies used for parallel programming, practically debugging parallel programs, and practically tuning parallel program performance.
Literature - Czech
Last update: RNDr. Jakub Yaghob, Ph.D. (18.09.2013)

A. Grama, A. Gupta, G. Karypis, V. Kumar: Introduction to Parallel Computing, Second Edition, Addison Wesley, 2003

C. Hughes, T. Hughes: Parallel and Distributed Programming Using C++, Addison Wesley, 2003

B. Lewis, D.J. Berg: PThreads Primer: A Guide to Multithreaded Programming, Sun Soft Press, 1996

G.E. Karniadakis, R.M. Kirby II: Parallel Scientific Computing in C++ and MPI: A Seamless Approach to Parallel Algorithms and their Implementation, Cambridge University Press, 2003

M. McCool, A.D. Robison, J. Reinders: Structured Parallel Programming, Morgan Kaufmann Publishers, 2012

Intel Threading Analysis Tools,

Intel Cluster Tools,


Syllabus -
Last update: RNDr. Jakub Yaghob, Ph.D. (22.04.2016)
  • A theoretical introduction to parallel algorithms
  • Lock-free algorithms and data structures
  • Design patterns in parallel programming
  • Parallelization in programing languages (C++, OpenMP, Threading Building Blocks)
  • Distributed computing in clusters (MPI)
  • Computing on coprocessors (OpenCL, Intel Xeon Phi)

Charles University | Information system of Charles University |