University: Technical University of Košice
Faculty: Faculty of Electrical Engineering and Informatics
Department: Department of Computers and Informatics
Course Number: 2611481 Course Name: Parallel programming
Type, scope and method of learning activities:
Course Type: Lecture, Laboratory exercise
Recommended scope of the course content (in hours):
Full-time study (hours per week): 2,2
Part-time study (hours per semester): 26,26
Study Method:
Number of credits: 6
Recommended semester of study: WT
Recommended semester Study programme Study grade Study Method
2.rok WT Cybersecurity (KB_Ing_D_sk)
Informatics (INF_Ing_D_sk)
Computer Modelling (PM_Ing_D_sk)
Informatics (INF_Ing_D_en)
Level of study:
Course completion requirements:
Assessment and completion of the course: Credit test and examination
Continuous assessment: Student passes the continuous assessment and receives credits when he or she meets the requirement to obtain at least 16% out of 30%.
individual work, projects processing
Final assessment: Student passes the final assessment and passes the examination when he or she meets the requirement to obtain at least 36% out of 70%.
Overall assessment: Overall assessment is the sum of the assessments obtained by students in the assessment period. The overall result is determined in accordance with the internal regulations of the Technical University in Košice. (Study Regulations, the internal regulation principles of doctoral studies)
Learning outcomes:
Student will acquire the ability for analysis and decomposition of parallel problems with respect to parallel architectures and their implementation oriented to esploiting massive and expansive parallelism in computer clusters and supercomputers. He will be able to apply parallel algorithms efficiently.
Brief course content:
1. The relation of parallel algorithms and parallel problems.
2. Properties of parallel algorithms and problems.
3. The kinds of parallel algorithms and their complexity.
4. Measuring the efficiency of parallel computation.
5. Decomposition of parallel problems according to types of parallelism.
6. Expansive and massive parallelism in data parallel programming model.
7. Semantics of message passing in point-to-poit communication and collective communication.
8. MPI data types and applications.
9. Exploitation of communicators and MPI process topologies in parallel problems decomposition.
Recommended Reference Sources:
1. Ian Foster: Designing and Building Parallel Programs.
2. Ján Kollár: MPI - Introductory Course, DCI FEI TU Košice, 2001
3. Ján Kollár: MPI - Advance Course, DCI FEI TU Košice, 2001
4. MPI: A Message-Passing Interface Standard. Message Passing Interface Forum, June 12, 1995, University of Tennessee, Knoxville, Tennessee.,  231pp.  
5. Gibbons S.A., Rytter, W.: Efficient Parallel Algorithms. Cambridge Univ. Press, 1987.  
6. Peter S. Pacheco: A User's Guide to MPI. Dept. of Mathematics, Univ of San Francisco, CA, March 30 1998, (postscript)
Recommended optional program components:
Languages required for the course completion:
Course assessment:
Total number of students assessed: 2020
  A B C D E FX  
  28% 30% 27% 13% 1% 1%  
doc. Ing. Branislav Madoš, PhD.
doc. Ing. Ján Genči, PhD.
Last modified: 01.09.2022
Approved by: person(s) responsible for the study program