Українська
Тема 6. Паралелізм даних: паралельні цикли, PLINQ, розбиття даних; паралельні алгоритми сортування та редукції
Мета: ознайомитися з паралелізмом даних на платформі .NET; навчитися розпаралелювати цикли за допомогою Parallel.For і Parallel.ForEach з локальним станом потоку, обирати спосіб розбиття даних, писати запити PLINQ з агрегацією; опанувати паралельні алгоритми редукції, префіксної суми та сортування, вимірювання прискорення й ефективності та перевірку результату з послідовною версією.
Зміст лекції
- Паралельні цикли класу Parallel — Паралелізм даних і паралелізм задач · Паралельні цикли Parallel.For і Parallel.ForEach
- Parallel.Invoke і розбиття даних — Parallel.Invoke, Parallel.ForAsync і Parallel.ForEachAsync · Розбиття даних
- PLINQ та агрегація — PLINQ: паралельні запити · Агрегація: асоціативність і комутативність
- Редукція, сортування та продуктивність — Паралельна редукція та префіксна сума · Паралельні алгоритми сортування · Інші шаблони паралелізму даних · Аналіз продуктивності
- Приклади та типові помилки — Приклади програм · Типові помилки