High Performance Computing Applications and Architectures
Data is displayed for the academic year: 2024./2025.
Laboratory exercises
Course Description
The course introduces students to the basic concepts of high performance parallel computing systems and associated high performance applications. The course explains the types of parallelism and methods of exploitation in designing applications. It then explains the execution models in high-performance parallel systems and the methods of designing and optimizing applications for such systems.
Prerequisites
Basics of programming in programming languages C/C++, basic knowledge of processor architecture and computer systems, basics knowledge of concurrency and parallelism
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
Core-elective courses
(2. semester)
[FER3-HR] Computer Science - profile
Elective Courses
(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
Elective Courses
(2. semester)
Learning Outcomes
- Define the structure, architecture and components of high-performance computer systems
- Evaluate and analyze the performance of applications in high performance computing systems
- Apply application design and optimization methods in high performance computing systems
- Analyze applications and application performance against different criteria
- Create an application optimization methodology based on different criteria
- Compare methods of implementing computer system components and applications for high performance systems
- Select methods for implementing computer system components and applications for high performance systems
Forms of Teaching
Lectures
Lectures are held every week (3 hours per week). Theoretical foundations of high-performance computing applications and architectures are explained together with practical programming examples.
Independent assignmentsStudents solve simple problems by writing HPC oriented programs.
LaboratoryStudents write, debug, and execute HPC programs using languages and architectures designed for HPC programming.
Grading Method
Continuous Assessment | Exam | |||||
---|---|---|---|---|---|---|
Type | Threshold | Percent of Grade | Threshold | Percent of Grade | ||
Laboratory Exercises | 0 % | 12 % | 0 % | 12 % | ||
Mid Term Exam: Written | 0 % | 38 % | 0 % | |||
Final Exam: Written | 0 % | 50 % | ||||
Exam: Written | 0 % | 68 % | ||||
Exam: Oral | 20 % |
Comment:
All Laboratory excercises must be succesfully completed in order to get the passing grade.
Week by Week Schedule
- Multicore and manycore systems
- Shared multiprocessor memory systems and memory consistency, Multicore and manycore systems
- Interconnection networks (hypercube, shuffle-exchange, mesh, crossbar), Shared multiprocessor memory systems and memory consistency
- Power Law, SIMD, vector processing
- SIMD, vector processing
- SIMD, vector processing, GPU, co-processing
- Example SIMD and MIMD instruction sets and architectures
- Midterm exam
- Vector processors and GPUs
- Vector processors and GPUs, Parallel matrix computations
- Network on chip and heterogenous accellerated architectures, Alternative architectures (VLIW/EPIC, accelerators, and other kinds of special-purpose processors)
- Critical paths, work and span, and the relation to Amdahl’s law, Models for parallel program performance
- Critical paths, work and span, and the relation to Amdahl’s law, Power usage and management
- Power usage and management
- Final exam
Literature
General
ID 222466
Summer semester
5 ECTS
L1 English Level
L1 e-Learning
45 Lectures
0 Seminar
0 Exercises
12 Laboratory exercises
0 Project laboratory
0 Physical education excercises
Grading System
90 Excellent
80 Very Good
65 Good
50 Sufficient