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

Parallel Haskell

Parallel Haskell

OdHUG 2015 November MeetUp

Avatar for Sergey Bushnyak

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 биндиниги • Лишают преимущства функционального программирования • Сложности в обработке ошибок