- •Побудова моделі прогнозування шкідливих викидів в атмосферу з використанням графічних багатоядерних процесорів
- •Побудова дискретних динамічних моделей прогнозування концентрації шкідливих викидів
- •1.1 Проблеми побудови математичних моделей прогнозування концентрації шкідливих викидів в атмосферу
- •Аналіз та обгрунтування вибору засобів розпаралелення обчислень
- •2.2 Програмні засоби розпаралелення на графічних багатоядерних процесорах
- •Паралелізація побудови моделей
Аналіз та обгрунтування вибору засобів розпаралелення обчислень
Сучасні апаратні засоби виконання паралельних обчислень
Системи для виконання паралельних обчислень можна класифікувати:
- багатоядерні системи;
- багатопроцесорні системи;
- кластерні системи;
- grid-системи;
- графічні багатоядерні процесори.
Багатоядерний процесор – це центральний мікропроцесор, що містить 2 і більше обчислювальних ядра на одному процесорному кристалі або в одному корпусі. Операційна система кожне ядро бачить як окремий процесор. Кожне ядро багатоядерного процесора потенційно може виконувати по кілька інструкцій з одного потоку [7].
Багатопроцесорні системи за класифікацією Флінна відносяться до архітектури типу MIMD (Multiple Instruction Multiple Data). У багатопроцесорній системі кожен процесор виконує свою програму достатньо незалежно від інших процесорів. Процесори в ході вирішення загального завдання повинні зв'язуватися один з одним відповідно до графу взаємодії їх паралельних гілок [8].
Кластер – це група взаємозв’язаних повноцінних комп’ютерів, які спільно виконують деяку роботу таким чином, що ззовні вона сприймається як єдиний обчислювальний ресурс [9].
Grid – це система, яка координує використання глобальних (світових) ресурсів за відсутності централізованого управління цими ресурсами; використовує стандартні й універсальні протоколи та інтерфейси; забезпечує висококласне обслуговування. Сучасні GRID-системи вже зараз об'єднують значні ресурси, розташовані в різних наукових і технологічних центрах, інститутах, університетах світу. Вони включають окремі комп'ютери, кластери, локальні мережі, суперкомп'ютери, сховища інформації, комунікації, програмні пакети та інструментарій [10].
У якості найбільш перспективної технології зараз розглядається програмування на багатоядерних графічних процесорах (GPU – Graphics Processing Unit). Пристрій архітектури GPU можна коротко охарактеризувати як макроархітектуру обчислювального кластера, що реалізована в мікромасштабі. Графічний процесор складається з однорідних обчислювальних елементів зі спільною пам'яттю. Кожен обчислювальний елемент здатний виконувати тисячі потоків, перемикання, між якими не має накладних витрат. Потоки можуть бути згруповані в блоки, які мають загальний кеш і швидку пам'ять, що розділяється і явно контролюється користувачем [11].
Для порівняння сучасних графічних процесорів розглянемо наступні показники [12]:
Відношення продуктивність/ціна;
Відношення продуктивність/потужність;
Відношення продуктивність/кількість ядер.
Ці показники приведено у таблиці 1.1 [12].
Таблиця 1.1
Порівняльні характеристики сучасних графічних процесорів
Модель |
продуктивність/ціна, GFlops/$ |
продуктивність/потуж-ність, GFlops/Вт |
продуктивність/кількість ядер, GFlops/шт. |
nVidia GeForce GTX 680 |
6,524 |
16,226 |
2,06 |
nVidia GeForce GTX 690 |
3,167 |
10,547 |
1,03 |
nVidia Quadro K5000 |
0,956 |
17,626 |
1,4 |
nVidia Quadro 6000 |
0,384 |
5,17 |
2,354 |
nVidia Tesla K20 |
1,163 |
16,019 |
1,444 |
nVidia Tesla K20Х |
1,264 |
17,212 |
1,505 |
nVidia Tesla K10 |
1,466 |
15,633 |
1,527 |
Основними перевагами використання графічних багатоядерних процесорів є:
Більша продуктивність при виконанні обчислень, ніж на CPU;
Нижча вартість у порівнянні з багатопроцесорними та кластерними системами;
Зі зростанням об´єму даних ефективність виконання обчислень на GPU збільшується, в той час як на CPU – залишається сталою.
Виходячи із вищесказаного, засобом для розпаралелення поставленої задачі обрано графічні багатоядерні процесори.
