Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Отчеты по практике » Порівняння можливостей OpenMP і TPL

Реферат Порівняння можливостей OpenMP і TPL





ception є метод Handle, який дозволяє обробити всі включені в нього винятки.

OpenMP не надає коштів для зовнішніх обробок винятків. Однак, всередині паралельних регіонів є можливість використовувати механізм винятків. При цьому на даний механізм накладаються жорсткі обмеження. Усі винятки не повинні покидати паралельний регіон, який формується директивами for і section. Тобто, всі винятки повинні бути оброблені саме в паралельному регіоні. При виході виключення за паралельний регіон може відбутися збій програми. Якщо ж є необхідність у зовнішній передачі повідомлення про помилку, то для цього слід застосовувати інші механізми.

Іншим не менш важливим механізмом є планування обчислень. Під плануванням в нашому випадку можна уявити процес розподілу завдань і потоків. Так, распараллелівая цикл, його ітерації можна об'єднати в групи і задати виконання кожної групи ітерацій певного потоку.

У розглянутих інструментаріях присутній механізм планування, проте його реалізації відрізняються.

У TPL планування і розподіл обчислень по потокам здійснюється автоматично. Варто відзначити той факт, що програміст не може явно вплинути на цей процес.

У OpenMP існує кілька стратегій планування:

· Static - групове розподіл обчислень. Є можливість явно вказати розмір групи. Групи розподіляються по нитках від нульової і до останньої, потім процес повторюється знову ж починаючи з нульовою нитки.

· Dynamic - динамічний розподіл обчислень з певним розміром групи.

· Guided - динамічний розподіл обчислень, при цьому розмір групи обчислень поступово зменшується до деякої заданої величини прямо пропорційно кількості нерозподілених обчислень і назад пропорційно кількості ниток.

· Auto - стратегія розподілу встановлюється компілятором або під час виконання.

· Runtime - стратегія розподілу встановлюється під час виконання програми.

Далі варто розглянути можливості для управління циклом. При використанні звичайних циклів надаються два способи для управління ітераціями - пропуск ітерації і переривання циклу. Для цих цілей визначені такі ключові слова як continue і break.

Для паралельних циклів пропуск ітерації не є суттєвим, тому реалізації оператора continue не передбачено.

У TPL можливості для управління ітераціями циклу реалізовані в класі ParallelLoopState. Для об'єктів цього класу визначені два методи - Break і Stop.

Метод Break дозволяє перервати виконання циклу для всіх ітерацій після поточної. При цьому, якщо в якийсь момент часу в одній з ітерацій викликаний даний метод, то всі запущені ітерації продовжать свою роботу, а далі будуть виконані тільки ітерації з меншим номером.

Метод Stop явно вказує на те, що в циклі повинні бути завершені виконувані ітерації, а що залишилися ітерації не повинні бути запущени.не надає явних механізмів для управління ітераціями. При цьому використання стандартних операторів завершення циклу забороняється.

Так само варто розглянути обидва інструментарію з точки зору можливості установки додаткових параметрів. У OpenMP присутні методи для явного завдання кількості ниток, породжуваних в паралельних регіонах. У TPL така можливість відсутня.

Нижче в таблиці наведено короткий порівняння інструментаріїв по вищеперелічених критеріях.


Обробка ісключеній.Планірованіе.Управленіе ціклом.Установка параметров.OpenMPТолько всередині паралельної областіАвтоматіческі і вручнуюЗапрещеноПоддержівается.Net TPLПрісутствует АвтоматіческіПоддержіваетсяОтсутствует

. 3 Лінійна алгебра та паралельні обчислення


Лінійна алгебра являє собою розділ математики, який досліджує вектори, лінійні і векторні простори, лінійні системи рівнянь і лінійні відображення. Як дисципліна лінійна алгебра є важливим розділом математики, оскільки векторні простори широко зустрічаються в програмуванні. Лінійна алгебра добре підходить для перевірки ефективності розпаралелювання систем при великих значеннях n, а так само досить легко распараллеливается.

У даній дипломній роботі ми розглянемо основні операції над матрицями та їх визначниками:

· Множення матриць;

· Піднесення до степеня;

· Рішення систем;

· Рішення систем з n правими частинами;

· Детермінант матриць;

· Робота зі слабко заповненими матрицями.

Далі ми розглянемо поставлені завдання.


. 3.1 Множення ма...


Назад | сторінка 6 з 10 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Порівняння ефективності різних методів розв'язання систем лінійних алге ...
  • Реферат на тему: Розробка програми для виконання обчислень над матрицями
  • Реферат на тему: Рішення систем нелінійніх рівнянь. Метод ітерацій. Метод Ньютона-Канторов ...
  • Реферат на тему: Програма для обчислень над матрицями
  • Реферат на тему: Формування культури математичних обчислень на уроках математики в 5 класі