• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Новый подход к анализу алгоритмов

22 ноября 2017 в МИЭМ НИУ ВШЭ в рамках постоянно действующего научно-исследовательского семинара «Суперкомпьютерное моделирование в науке и инженерии, или Вычислительные среды», организованного базовой кафедрой Прикладных информационно-коммуникационных средств и систем ВЦ РАН департамента прикладной математики МИЭМ НИУ ВШЭ, прошел научный семинар на тему «Высокопроизводительные вычислительные системы и структура алгоритмов».

Докладчик - заместитель директора НИВЦ МГУ имени М.В.Ломоносова, заведующий кафедрой Суперкомпьютеров и квантовой информатики ВМК МГУ, чл.-корр. РАН, профессор Воеводин Владимир Валентинович.

Владимир Валентинович начал с того, что наглядно продемонстрировал как некорректно реализованные алгоритмы приводят к простою ресурсы суперкомпьютера Ломоносов-2. Тем самым подчеркнул важность предварительного анализа алгоритмов, чтобы максимально эффективно использовать доступные на сегодняшний день высокопроизводительные системы.

Иногда даже простое изменение порядка циклов внутри алгоритма может дать существенный выигрыш в производительности. Перед написанием программ необходимо провести как можно более подробный анализ используемых алгоритмов: построить информационный граф, изучить локальность данных, постараться найти дополнительные источники параллелизма в алгоритме. 

Появление новых архитектур суперкомпьютеров требует нового подхода к анализу алгоритмов. Ответ на вопрос «можно ли провести такой анализ раз и навсегда», выделив и описав необходимые свойства алгоритмов, являлся предметом обсуждения на семинаре. 

Ответ на этот вопрос - можно, если использовать силы мирового научного сообщества. С такой целью был создан проект AlgoWiki (algowiki-project.org). AlgoWiki - это открытая энциклопедия по свойствам алгоритмов и особенностям их реализации на различных программно-аппаратных платформах. Если вы являетесь специалистом по какому-либо алгоритму, либо у вас просто есть желание изучить и описать любой алгоритм, то вы также можете внести свой вклад в развитие этого проекта.