цінка ефективності паралельного коду, яка дала б уявлення про те, на скільки повно використовуються ресурси мікропроцесора.
Lock & Wait - аналіз. В«Де моя програма простоює в очікуванні синхронізації або операції введення-виведення?В» Зрозумівши, що наша програма погано масштабується, ми хочемо знайти, де саме і які саме об'єкти синхронізації стали на шляху до хорошої паралельності.
Програма на даний момент знаходиться в стадії альфа тестування і не входить в комплект Intel В® Parallel Studio, тому повний огляд до релізу програми робити некоректно.
Огляд Cilk і Intel Cilk Plus
- мова паралельного програмування.
Розроблявся з 1994 року в лабораторії Інформатики MIT. Заснований на мові ANSI C, з додаванням невеликої кількості ключових слів Cilk. Пізніше був розширений на Сі + +, у вигляді Cilk + + - комерційного продукту, що розробляється компанією Cilk Arts. p align="justify"> У 2009 році компанією Cilk Arts було оголошено про те, що всі її продукти і сама команда розробників стають частиною корпорації Інтел.
Intel В® Cilk Plus яка поширює мови С + +, яке спрощує розробку додатків, паралельних по задачах і даними в системах з загальною пам'яттю. Завдання можуть бути реалізовані у вигляді окремих функцій або ітерацій циклу. При цьому система виконання автоматично розподіляє їх за доступними ядрам.Plus включає чотири основні компоненти:
Ключові слова ( cilk_for , cilk_spawn , cilk_sync ). Ці конструкції надають потужний інструмент для організації паралелізму по задачах.
Гіпер-об'єкти або перетворювачі (reducers). Усувають конкуренцію за змінні, що розділяються між завданнями, автоматично створюючи уявлення цих змінних для кожного завдання і збираючи їх назад в поділюване значення по завершенні всіх завдань. p align="justify"> Спеціальне уявлення масивів (C/C + + Extensions for Array Notation (CEAN)). Даний компонент забезпечує паралелізм за даними (векторизацію) для всього масиву або його частин під час виконання однотипної операції з усіма його елементами. p align="justify"> Елементарні функції. Включають паралелізм за даними для всіх функцій і операцій, які застосовуються до спеціальних масивів або їх частинах. p align="justify"> Таким чином, розробники Cilk Plus надають кошти для організації циклічного і рекурсивного (В«розділяй і володарюйВ») паралелізму.
GNU Compiler Collection (GCC)
Compiler Collection (зазвичай використовується скорочення GCC) - набір компіляторів для різних мов програмування, розро...