RU

Open-source GPU-технологии для суперкомпьютеров: ученые разобрались в плюсах и минусах

Open-source GPU-технологии для суперкомпьютеров: ученые разобрались в плюсах и минусах

© iStock

Исследователи Международной лаборатории суперкомпьютерного атомистического моделирования и многомасштабного анализа НИУ ВШЭ, ОИВТ РАН и МФТИ сравнили работу популярных программ молекулярного моделирования на GPU-ускорителях AMD и Nvidia. В опубликованной работе в журнале International Journal of High Performance Computing Applications ученые впервые перенесли LAMMPS на новую open-source GPU-технологию AMD HIP.

Исследователи провели детальный анализ производительности трех программ для молекулярного моделирования LAMMPS, Gromacs и OpenMM на GPU-ускорителях Nvidia и AMD с сопоставимыми пиковыми характеристиками. Для тестов ученые использовали модели белка ApoA1 - Аполипопротеин A1 - аполипопротеин плазмы крови, основной белок носителя «хорошего холестерина». Выяснилось, что на производительность научных расчетов влияют не только характеристики аппаратного обеспечения, но и программное окружение. Оказалось, что недостаточно эффективная работа драйверов AMD в сложных сценариях параллельного запуска вычислительных ядер может вносить значительные задержки. Open-source решения имеют пока свои минусы.

В опубликованной работе ученые впервые перенесли LAMMPS на новую open-source GPU-технологию AMD HIP. В этой развивающейся технологии увидели большие перспективы, поскольку она позволяет эффективно использовать единый код и на ускорителях Nvidia, и на новых GPU компании AMD. Разработанная модификация LAMMPS опубликована под открытой лицензией и доступна в официальном репозитории – пользователи по всему миру могут использовать эту разработку для ускорения своих расчетов.

«Мы провели детальный анализ и сравнение подсистем памяти GPU-ускорителей архитектур Nvidia Volta и AMD Vega20. Я обнаружил разницу в логике параллельного запуска GPU ядер и продемонстрировал ее с помощью визуализации профилей программы. И пропускная способность, и задержки иерархии внутренней памяти GPU-ускорителя, и эффективное параллельное выполнение GPU-ядер – все это оказывает очень большое влияние на реальную производительность GPU-программ», – говорит один из авторов статьи, аспирант НИУ ВШЭ Всеволод Никольский.

По мнению авторов статьи, участие в этой технологической гонке титанов современной микроэлектроники демонстрирует очевидную тенденцию к увеличению разнообразия технологий GPU-ускорителей.

«С одной стороны, это позитивный для конечных пользователей факт, стимулирующий конкуренцию, повышение эффективности и снижение стоимости суперкомпьютеров. С другой стороны, сложность разработки эффективных программ для гибридных вычислительных систем еще больше усилится в результате необходимости учитывать наличие нескольких различных типов GPU-архитектур и технологий программирования, – комментирует профессор ВШЭ Владимир Стегайлов. – Даже поддержка переносимости программ для обычных процессоров на различных архитектурах (x86, Arm, POWER) часто оказывается нетривиальной. Переносимость программ между различными GPU-платформами – вопрос намного более сложный. Open-source парадигма устраняет многие барьеры и помогает разработчикам больших и сложных суперкомпьютерных программ».

В 2020 году усилился дефицит на рынке графических ускорителей. Хорошо известны популярные области их использования: майнинг криптовалют и задачи машинного обучения. Однако GPU-ускорители нужны и в науке для математического моделирования новых материалов и биологических молекул.

«Создание мощных суперкомпьютеров и разработка быстрых и эффективных программ – это подготовка инструментов для решения сложнейших общемировых вызовов, таких как пандемия COVID-19. Вычислительные инструменты для молекулярного моделирования используются сегодня во всем мире для поиска путей борьбы с этим вирусом», – говорит один из авторов статьи, научный сотрудник НИУ ВШЭ Николай Кондратюк.

Важнейшие программы для математического моделирования разрабатываются   международными коллективами и учеными из десятков организаций. Разработка ведется с открытым исходным кодом и под свободными лицензиями. Конкуренция двух титанов современной микроэлектроники Nvidia и AMD привела к появлению новой open-source инфраструктуры AMD ROCm для программирования GPU-ускорителей.  Открытость платформы позволяет надеяться на максимальную переносимость кодов, разработанных с ее использованием, на суперкомпьютеры самых разных типов. Подобная стратегия AMD отличается от похода компании Nvidia, чья технология CUDA является закрытым стандартом. 

Отклик научного сообщества не заставил себя ждать.  Близятся к завершению проекты создания новых крупнейших суперкомпьютеров, использующих GPU-ускорители AMD. Полным ходом идет строительство суперкомпьютера Lumi в Финляндии с производительностью 0.5 экзафлопса (что эквивалентно, например, суммарной производительности полутора миллионов ноутбуков!). В этом же году в США появится в полтора раза более мощный суперкомпьютер Frontier (1,5 экзафлопса), а в 2023 году – еще более мощный El Capitan (2 экзафлопса).