оцесорів (англ. Logical processor). Фізично у кожного з логічних процесорів є свій набір регістрів і контролер переривань (APIC), а інші елементи процесора є загальними. Коли при виконанні потоку одним з логічних процесорів виникає пауза (в результаті кеш-промаху, помилки передбачення розгалужень, очікування результату попередньої інструкції), то управління передається потоку в іншому логічному процесорі. Таким чином, поки один процес чекає, наприклад, дані з пам'яті, обчислювальні ресурси фізичного процесора використовуються для обробки іншого процесу. p align="justify"> Паралельні обчислення в цілому більш ефективніше, ніж послідовні, через те, вони використовують всю обчислювальну потужність процесора.
Розрахунки на GPU швидше в 17 разів, ніж на CPU. p align="justify"> Висока обчислювальна потужність GPU пояснюється особливостями архітектури. Якщо сучасні CPU містять кілька ядер (на більшості сучасних систем від 2 до 6, станом на 2012 р.), графічний процесор спочатку створювався як многоядерная структура, в якій кількість ядер може досягати сотень. Різниця в архітектурі обумовлює і різницю в принципах роботи. Якщо архітектура CPU передбачає послідовну обробку інформації, то GPU історично призначався для обробки комп'ютерної графіки, тому розрахований на масивно паралельні обчислення. br/>
Додаток 1
Теоретична частина
ірраціональне число, тобто його значення не може бути точно виражено у вигляді дробу m/n, де m і n - цілі числа. Отже, його десяткове подання ніколи не закінчується і не є періодичним
У своїй лабораторній роботі я використовував два алгоритму розрахунку числа Пі.
Формула Леонарда Ейлера:
В
І Формулу Валлеса:
В
Послідовний алгоритм.
В
Схема 1.
Код програми представлений у додатку 1.
Паралельний алгоритм
Вузьким місцем паралельного алгоритму є збереження проміжних сум і творів у один клас даних.
Щоб цього уникнути я зробив спеціальний потік в програмі, який розподіляє навантаження між потоками, які вважають проміжні суми і твори. А потім, після закінчення розрахунку, відправляють дані в один глобальний клас, який захищений м'ютексів, щоб тільки один потік, в один час міг записувати дані в змінну. p> Після надходження всіх даних в загальний глобальний клас, потік який розподіляв навантаження між потоками, починає вважати суму або твір, в залежності від алгоритму.
Такий розподіл навантаження дозволило уникнути постійних затримок в очікуванні запису даних.
Див схема 2, код представлений у додатку 2.
Алгоритм
Алгоритм розрахунку чиста PI.
В
Обчислювальний процесор
Core i7-950
Такто...