Parallel programming

Parallel programming

1.

Subject title

Parallel programming

Паралелно програмирање

2.

Code

F23L3S149

3.

Study program

Примена на информациски технологии, Софтверско инженерство и информациски системи, Компјутерски науки, Компјутерско инженерство, Интернет, мрежи и безбедност, Информатичка едукација, Software engineering and information systems, Примена на информациски технологии, Софтверско инженерство и информациски системи, Компјутерски науки, Компјутерско инженерство, Интернет, мрежи и безбедност, Software engineering and information systems, Стручни студии за програмирање, Стручни студии за програмирање,

4.

Organizer of the study program (unit, institute, department, division)

Faculty of Information Sciences and Computer Engineering

5.

Study cycle (first, second, third)

Прв циклус

6.

Academic year / semester

3 / Летен

7. Number of ECTS credits

6.0

8.

Instructor

проф. д-р Марјан Гушев ворн. проф. д-р Владимир Здравески

9.

Prerequisites for enrollment

Алгоритми и податочни структури или Примена на алгоритми и податочни структури

10.

Subject goals and competencies:


A survey of programming algorithms and techniques on the latest shared-memory parallel platforms and with distributed memory. The student will get acquainted with the theoretical and practical (program) components.

11.

Subject content:


(1) Introduction. Overview and challenges of parallel systems. (1) Fundamentals of parallel computing, models, algorithms. (1) Special purpose architectures. (2) Problems and solutions when synchronizing multiple threads, multi-threading systems. (1) Parallel Systems an introduction to parallel programming models. (1) Parallel Algorithm Design. (2) Shared memory and MPI. (2) GPU architecture and CUDA programming. (1) Performance analysis. (1) Optimization

12.

Learning methods:


Предавања поддржани со презентации преку слајдови, интерактивни предавања, вежби (користење на опрема и софтверски пакети), тимска работа, пример случаи, поканети гости предавачи, самостојна изработка и одбрана на проектна задача и семинарска работа, учење во електронско опкружување (форуми, консултации).

13.

Total available time fund

6.0 ECTS x 30 hours = 180 hours

14.

Time distribution

30 + 45 + 15 + 15 + 75 = 180 hours

15.

Forms of teaching activities

15.1.

Lectures - theoretical teaching

30 hours

15.2.

Exercises (laboratory, classroom), seminars, team work

45 hours

16.

Other forms of activities

16.1.

Project tasks

15 hours

16.2.

Independent tasks

15 hours

16.3.

Homework

75 hours

17.

Grading method

17.1.

Tests

10 points

17.2.

Seminar work / project (presentation: written and oral)

15 points

17.3.

Activities and learning

10 points

17.4.

Final exam

70 points

18.

Grading criteria (points / grade)

up to 50 points

5 (five) (F)

from 51 to 60 points

6 (six) (E)

from 61 to 70 points

7 (seven) (D)

from 71 to 80 points

8 (eight) (C)

from 81 to 90 points

9 (nine) (B)

from 91 to 100 points

10 (ten) (A)

19.

Condition for signature and taking final exam

15.1 и 15.2

20.

Language of instruction

македонски и англиски

21.

Quality assurance method

механизам на интерна евалуација и анкети

22.

Literature

22.1.

Mandatory literature

No.

Author

Title

Publisher

Year

4678

Jason Sanders, Edward Kandrot

Cuda by example

Addison-Wesley

2010

4679

Shane Cook

Cuda programming

Elsevier

2013

4680

David B. Kirk, W. Hwu Wen-Mei

Programming massively parallel processors: a hands-on approach

Morgan Kaufmann

2016

22.2.

Additional literature

No.

Author

Title

Publisher

Year