Parallel Programming
Data is displayed for academic year: 2023./2024.
Lectures
Laboratory exercises
Course Description
The course points to the need for algorithms that can take advantage of the increasing availability of parallel computational power. It describes the principles of parallel algorithm development and parallel programming models. The course also presents parallel programming utilities and enables the students to utilize the presented techniques.
Study Programmes
University graduate
[FER3-HR] Audio Technologies and Electroacoustics - profile
Elective Courses
(2. semester)
[FER3-HR] Communication and Space Technologies - profile
Elective Courses
(2. semester)
[FER3-HR] Computational Modelling in Engineering - profile
Elective Courses
(2. semester)
[FER3-HR] Computer Engineering - profile
Elective Course of the profile
(2. semester)
Elective Courses
(2. semester)
[FER3-HR] Computer Science - profile
(2. semester)
[FER3-HR] Control Systems and Robotics - profile
Elective Courses
(2. semester)
[FER3-HR] Data Science - profile
Elective Courses
(2. semester)
[FER3-HR] Electrical Power Engineering - profile
Elective Courses
(2. semester)
[FER3-HR] Electric Machines, Drives and Automation - profile
Elective Courses
(2. semester)
[FER3-HR] Electronic and Computer Engineering - profile
Elective Courses
(2. semester)
[FER3-HR] Electronics - profile
Elective Courses
(2. semester)
[FER3-HR] Information and Communication Engineering - profile
Elective Courses
(2. semester)
[FER3-HR] Network Science - profile
Elective Courses
(2. semester)
[FER3-HR] Software Engineering and Information Systems - profile
Core-elective courses
(2. semester)
[FER2-HR] Computer Engineering - profile
Specialization Course
(2. semester)
[FER2-HR] Computer Science - profile
Specialization Course
(2. semester)
[FER2-HR] Software Engineering and Information Systems - profile
Specialization Course
(2. semester)
Learning Outcomes
- describe parallel computation and parallel programming models
- describe the PRAM computer model
- apply the PRAM programming model in parallel programming
- apply MPI technology in parallel program development
- recognize phases of parallel algorithm design
- combine parallel algorithm development elements
- evaluate efficiency and scalability of parallel algorithms
Forms of Teaching
Lectures
predavanja
Exercisesvježbe
Independent assignmentsprogramski projekt
Grading Method
Continuous Assessment | Exam | |||||
---|---|---|---|---|---|---|
Type | Threshold | Percent of Grade | Threshold | Percent of Grade | ||
Laboratory Exercises | 0 % | 15 % | 0 % | 10 % | ||
Mid Term Exam: Written | 0 % | 35 % | 0 % | |||
Final Exam: Written | 0 % | 50 % | ||||
Exam: Written | 50 % | 50 % | ||||
Exam: Oral | 40 % |
Week by Week Schedule
- Flynn’s taxonomy
- Parallel algorithm development models
- Message passing, Shared vs; distributed memory
- Message passing
- Formal models of parallel computation, including the Parallel Random Access Machine (PRAM/APRAM) and alternatives such as Bulk Synchronous Parallel (BSP)
- Formal models of parallel computation, including the Parallel Random Access Machine (PRAM/APRAM) and alternatives such as Bulk Synchronous Parallel (BSP)
- Parallel algorithmic patterns (divide-and-conquer, map and reduce, master-workers, others)
- Midterm exam
- Parallel algorithmic patterns (divide-and-conquer, map and reduce, master-workers, others)
- Analysis methods for parallel algoritmhs
- Speed-up and scalability
- Performance measurement and model evaluation
- Modular parallel algorithms
- Non-uniform memory architectures; GPGPU
- Final exam
Literature
D. Jakobović (.), Paralelno programiranje - skripta,
I. Foster (.), Designing and Building Parallel Programs, Addison-Wesley
For students
General
ID 240706
Summer semester
5 ECTS
L1 English Level
L1 e-Learning
45 Lectures
0 Seminar
0 Exercises
15 Laboratory exercises
0 Project laboratory
0 Physical education excercises
Grading System
Excellent
Very Good
Good
Sufficient