Subject

Parallel Processing

1. Course Title Parallel Processing
Parallel processing
2. Code m23_w_065
3. Study Programme
4. Organizer of the study programme (unit, institute, department or division) Faculty of Computer Science and Engineering
5. Degree level (first, second, third cycle) Second cycle
6. Academic year / semester 9 / Winter
7. Number of ECTS credits 6
8. Teacher Dejan Spasov
9. Prerequisites for enrolling in the course
10. Objectives of the course programme (competences) Upon completion of the course, the student is expected to have knowledge of parallel algorithms.;
Parallel architectures; multithreading systems. To be able to create parallel applications and implement optimal deep learning algorithms.
11. Course content Fundamental concepts of parallel algorithms. Complexity of parallel algorithms. GPU architecture. Instruction-level parallelism. GPU programming with CUDA and OpenCL. Shared-memory networks and clusters. GRID structures. GRID computations. Performance evaluation and optimization. Architecture for deep learning and capsule networks.
12. Learning methods Lectures supported by slide presentations, interactive lectures, practical classes (using equipment and software packages), teamwork, case studies, guest lecturers, independent preparation and defence of a project assignment and seminar paper, and learning in an electronic environment (forums and consultations).
13. Total available time 6 ECTS x 30 hours = 180 hours
14. Distribution of available time 45 + 15 + 30 + 50 + 40 = 180 hours
15. Forms of teaching activities
15.1. Lectures - theoretical instruction 45 hours
15.2. Exercises (laboratory, auditory), seminars, teamwork 15 hours
16. Other forms of activities
16.1. Project assignments 50 hours
16.2. Independent assignments 30 hours
16.3. Home study 40 hours
17. Assessment method
17.1. Tests 20 points
17.2. Seminar paper / project (presentation: written and oral) 50 points
17.3. Activities and learning 20 points
17.4. Final exam 20 points
18. Grading criteria (points / grade)
up to 50 points5 (five) (F)
from 51 to 60 points6 (six) (E)
from 61 to 70 points7 (seven) (D)
from 71 to 80 points8 (eight) (C)
from 81 to 90 points9 (nine) (B)
from 91 to 100 points10 (ten) (A)
19. Requirement for obtaining a signature and taking the final exam completed activities
20. Language of instruction Macedonian and English
21. Method for monitoring the quality of teaching internal evaluation and survey mechanism
22. Literature
22.1. Required literature
1. Yoshiyasu Takefuji | GPU Parallel Computing for Machine Learning in Python: How to Build a Parallel Computer | Amazon Digital Services LLC | 2017
2. L. Abell | ADVANCED NEURAL NETWORKS with MATLAB: DEEP LEARNING, CONTROL SYSTEMS, PARALLEL COMPUTING, and DYNAMIC NEURAL NETWORKS | CreateSpace Independent Publishing Platform | 2017
3. Shane Cook | CUDA Programming: A Developer's Guide to Parallel Computing with GPUs (Applications of GPU Computing) | Morgan Kaufmann | 2012
22.2. Additional literature
No. Author Title Publisher Year