Page 32 - 4868
P. 32

Ошибка! Стиль не определен.                                                                30

                     3. Набір  директив  компілятору  та  бібліотечних  процедур  (Open  Multi-
               Processing  (OpenMP))  –  стандарт  розпаралелювання  програм,  що  описує
               сукупність  директив  компілятора,  бібліотечних  процедур  та  змінних
               оточення,  які  призначені  для  програмування  багатопоточних  програмних
               додатків  на  багатопроцесорних  системах  із  спільною  пам’яттю,  що
               розподіляється.
                     4. Використання  програмно-апаратної  архітектури  CUDA,  фреймворка
               OpenCL, інтерфейсу програмування застосунків DirectCompute.
                     5. Розробка  паралельних  та  розподілених  програм  із  використанням
               спеціальних  бібліотек  паралельного  програмування  у  таких  мовах  як  Java,
               C#, PHP, Python, Ruby і т.д.


                     Запитання для самоперевірки

                     1. Назвіть два основних підходи до виконання паралельних обчислень.
                     2. Які концепції розподілу (декомпозиції) застосовуються для вирішення
               нетривіальних задач?
                     3. В чому полягає суть розподілу за задачами та за даними?
                     4. На  чому  базується  вибір  підходу  для    розподілу  (декомпозиції)
               нетривіальних задач?
                     5. З  яких  основних  етапів  складається  алгоритм  розпаралелювання
               задач?
                     6. Для чого використовується закон Джина Амдала та яке його основне
               формулювання?
                     7. Як згідно закону Джина Амдала визначити зростання продуктивності
               програми?
                     8. Назвіть основні моделі паралельного програмування.
                     9. Які існують програмні підходи до розробки паралельних програм?



                                 ЛЕКЦІЯ 5. ТЕХНОЛОГІЇ ПАРАЛЕЛЬНОГО
                                                 ПРОГРАМУВАННЯ


                     5.1. Апаратний та програмний паралелізм

                     Розглянемо  приклад  додавання  векторів.  Спочатку  продемонструємо
               послідовнийалгоритм додавання двох векторів (рис. 1.9):

















                            Рисунок 1.9 – Послідовний алгоритм додавання векторів
   27   28   29   30   31   32   33   34   35   36   37