Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Parallel Haskell

Parallel Haskell

OdHUG 2015 November MeetUp

Sergey Bushnyak

November 26, 2015
Tweet

More Decks by Sergey Bushnyak

Other Decks in Programming

Transcript

  1. Для чего нужно? • решение задач за меньшее время на

    нескольких процессорах/ядрах/.. • решение задач с большим объемом входных данных – использование распределенной памяти нескольких вычислительных узлов • решение задач с большой вероятностью получения корректного решения ( дублирование вычислений – параллельный пересчет)
  2. Разработка параллельного алгоритма • Поиск параллелизма в известном последовательном алгоритме,

    его модификация или создание нового алгоритма • Декомпозиция задачи на подзадачи, которые могут выполнятся параллельно • Анализ зависимостей между подзадачами Параллельная версия самого эффективного последовательного алгоритма решения задачи необязательно будет самой эффективной параллельной реализацией
  3. Scramble • На процессорах без дополнительных ядер показывает результат хуж

    • На 8 ядерном процессоре – производительность порядка x5-6 • На 16 ядерном процессоре – производительность порядка х7-8
  4. REPA, GPU, MPI, OpenMp и прочие • Большая часть мейнстримовых

    технологий имеют Haskell биндиниги • Лишают преимущства функционального программирования • Сложности в обработке ошибок