Архітектура комп’ютерних систем

|
|
|
Архітектура комп’ютерних систем

Анотація: сучасні комп’ютери, надаючи програмістам позірно простий інтерфейс, заради ефективності, дуже складно організовані. Однак, за прямолінійного
програмування, утилізуються лише десяті відсотка їх максимальної обчислювальної потужності. Щоб використовувати цю потужність ефективно, слід добре знати їх внутрішню будову. Мета та цілі курсу: познайомитися із архітектурними рішеннями, на яких базуються сучасні високопродуктивні комп’ютерні системи. Навчитися використовувати їх для підвищення ефективності програмного забезпечення.

Теми:

1.Проблема продуктивності обчислювальних систем

2.Класифікація паралелізму

3.Архітектура та мікроархітектура мікропроцесорів

4.Підсистема пам’яті, ієрархія кешів

5.Тривіальні приклади розпаралелення обчислень

6.Мультипроцесори 

7.Розпаралелення крупнозернистих задач

8.Мультикомп’ютери та розподілені системи

9.Методологія побудови паралельних програм

10.Засоби синхронізації 

11.Підходи до реалізації паралельних API в С++, Python, Java

12.Протокол MPI

13.CUDA, oneAPI та OpenCL

14.Представлення та захист проектів

Викладачі:

Олег Фаренюк
Дмитро Кушнір

Ключові факти:

Навчальний семестр: 4

Кількість кредитів: 6 ECTS

Освітня програма:

Комп’ютерні науки