=Paper= {{Paper |id=Vol-1482/215 |storemode=property |title=Как быстрее всего решать задачи квантового и классического атомистического моделирования, используя современное суперкомпьютерное программное и аппаратное обеспечение? (What is the fastest way to compute quantum and classical atomistic models using the latest software algorithms and supercomputing hardware?) |pdfUrl=https://ceur-ws.org/Vol-1482/215.pdf |volume=Vol-1482 }} ==Как быстрее всего решать задачи квантового и классического атомистического моделирования, используя современное суперкомпьютерное программное и аппаратное обеспечение? (What is the fastest way to compute quantum and classical atomistic models using the latest software algorithms and supercomputing hardware?)== https://ceur-ws.org/Vol-1482/215.pdf
           Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org


            Как быстрее всего решать задачи квантового и

            классического атомистического моделирования,

                используя современное суперкомпьютерное
                                                                                                        \ast 
                  программное и аппаратное обеспечение?

                                       Г.С. Смирнов, В.В. Стегайлов


                          Объединенный институт высоких температур РАН



                Развитие аппаратного обеспечения для высокопроизводительных расчетов опе-
                режает адаптацию алгоритмов для таких фундаментальных математических ал-
                горитмов как классическая и квантовая молекулярная динамика. Большое раз-
                нообразие выбора обуславливает необходимость ясных критериев, основанных на
                вычислительной эффективности определенного алгоритма на определенном ап-
                паратном обеспечении. Тест LINPACK не может более служить этой цели. В этой
                работе мы рассматриваем основанную на практических соображениях метрику
                «время решения — пиковая производительность». В этой метрике мы сравнива-
                ем различное аппаратное обеспечение (как современное, так и вышедшее из упо-
                требления) на примере тестов программного обеспечения LAMMPS, GROMACS,
                NAMD и CP2K, широко используемых для атомистического моделирования. По-
                казано, что рассмотренная метрика может служить для однозначного сравнения
                различных комбинаций центральных процессоров, ускорителей и интерконнекта.
1. Введение

           Гибридные вычислительные системы, использующие несколько различных вычисли-
тельных устройств, получили широкое распространение в последние годы. Анализ списка
Топ-500 [1] лучших суперкомпьютеров мира показывает, что наибольшей популярностью
на сегодняшний день пользуются машины, использующие в качестве укорителей видеокар-
ты NVIDIA архитектуры Kepler или сопроцессоры Intel Xeon Phi архитектуры MIC (Many
Integrated Core).
           Резкий рост количества машин с гибридной архитектурой связан в первую очередь с
перспективой существенного увеличения производительности суперкомпьютера без значи-
тельного увеличения затрат. Пиковая производительность современных ускорителей дости-
гает нескольких ТФлопс (10
                                      12 операций с плавающей точкой в секунду). Однако исполь-

зование значительной доли пиковой вычислительной мощности R\mathrm{p} \mathrm{e}\mathrm{a}\mathrm{k} в реальных приложе-
ниях не всегда возможно. Это связано с необходимостью полного переписывания исходного
кода для обычных CPU, решения проблем с доступом к памяти ускорителя, шириной канала
передачи данных между центральным процессором и ускорителем, а также особенностями
работы АЛУ ускорителей.
           Предпринимаются попытки создания специализированных суперкомпьютеров для кон-
кретных приложений, однако они не входят в список Топ-500. Для задач молекулярной
динамики можно выделить суперкомпьютеры на программируемых пользователем вентиль-
ных матрицах (разновидность ПЛИСов) [2], MDGRAPE [3] и ANTON [4] на интегральных
схемах специального назначения. Использование специальной архитектуры позволяет до-
биться наиболее эффективного использования вычислительной мощности для конкретной
задачи.
           При этом «классические» многопроцессорные суперкомпьютеры, использующие для
вычислений только центральные процессоры, продолжают доминировать в списке Топ-500,
и на такие системы продолжают ориентироваться при разработке ПО для классической

   \ast 
           Работа частично поддержана грантами РФФИ 13-01-12070-офи_м и 14-08-31550 мол_а.




                                                         215
   Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org


молекулярной динамики [5, 6]. На них проводятся рекордные по числу частиц молекулярно-
динамические расчеты [7].
   В сложившейся ситуации при наличии большого разнообразия аппаратного обеспече-
ния для высокопроизводительных суперкомпьютерных расчетов особенную актуальность
приобретает вопрос сравнения между собой различных альтернативных решений. Целью
анализа должна быть эффективность связи 1) аппаратного обеспечения, 2) конкретной ма-
тематической модели или класса моделей и 3) численных алгоритмов, в том числе с учетом
уже существующего программного обеспечения (ПО) и сложности их адаптации на новые
типы аппаратного обеспечения.
   Популярный тест LINPACK, использующийся для ранжирования суперкомпьютеров,
не отражает особенностей многих современных алгоритмов, в том числе и алгоритмов ато-
мистического моделирования, являющихся предметом этой статьи. Для данного класса за-
дач это приводит к существенному отличию между реальной и теоретически максимальной
производительностью [8, 9]. Отсюда следует, что необходим анализ эффективности рабо-
ты конкретных программ и алгоритмов на различных архитектурах. В качестве примеров
аппаратного обеспечения рассматриваются лучшие суперкомпьютерные системы России.
Анализируемые математические модели соответствуют стандартным примерам: леннард-
джонсовская жидкость (типичная система для задач статистической физики, физики кон-
денсированных сред и физической химии), белковая молекула в водном растворе и кванто-
вый расчет молекул воды. В качестве примера ПО мы используем популярные пакеты для
классических и квантовых задач атомистического моделирования: LAMMPS, GROMACS,
NAMD, CP2K.
   Развитие современных многомасштабных моделей в физике, химии, биологии, материа-
ловедении и других областях существенным образом основано на моделировании процессов
на атомистическом уровне. При этом даже достигнутый на сегодня рекордный размер мо-
делей в триллионы частиц [7] соответствует, например, для металла при нормальной плот-
                                      3
ности объему всего в несколько мкм . Задача увеличения максимальных доступных времен
молекулярно-динамических расчетов еще сложнее. Разработка подобных вычислительных
методов неразрывно связана с прогрессом в суперкомпьютерных технологиях.


2. Сравнение современных ускорителей

2.1. NVIDIA GPU

   Распространение графических процессоров для научных вычислений произошло за счет
появления специальных технологий программирования CUDA и OpenCL. В настоящее вре-
мя наиболее распространены две архитектуры компании NVIDIA: Fermi и Kepler. Пик по-
пулярности архитектуры Fermi пришелся на 2012 год, теперь она вытесняется более но-
вой архитектурой Kepler. Архитектура Kepler обеспечивает большее быстродействие, имеет
больший объем памяти, а также поддерживает последние версии спецификации CUDA.
В работе исследовалась работа видеокарт NVIDIA X2070 архитектуры GF100 (Fermi) и
NVIDIA K40 архитектуры GK110 (Kepler). Задачи на видеокартах выполняются по прин-
ципу SIMD (одиночный поток команд и множественный поток данных single instruction
multiple data). Базовой единицей при запуске задачи является поток (thread), выполняемый
на одном ядре. Потоки объединяются в блоки (block), запускаемые на одном мультипро-
цессоре. При этом они имеют доступ к одним и тем же данным в регистрах и разделяемой
памяти. Потоки запускаются группами из 32 единиц, называемых варпами (warp). Принцип
SIMD подразумевает, что одна команда применяется ко всем потокам в варпе.
   Видеокарты архитектуры GF100 имеют 14 потоковых мультипроцессоров, каждый со-
стоит из 32 вычислительных ядер, 4 устройств для расчета трансцендентных функций с
одинарной точностью. Вычислительные ядра работают на частоте 1150 МГц, только по-
ловина из них может выполнять операции с двойной точностью. Развитие производитель-



                                               216
   Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org


ности видеокарт идет по пути увеличения вычислительной мощности мультипроцессоров.
Мультипроцессор архитектуры GK110 имеет 192 вычислительных ядра, 64 из них могут
выполнять операции с двойной точностью. Ядра работают на частоте 745 МГц. На видео-
карте установлено 15 таких мультипроцессоров. Число ядер увеличилось более чем в 6 раз,
для работы с ними число одновременно запускаемых потоков на мультипроцессоре так-
же увеличено. Вдвое увеличено число регистров на поток для повторного использования
переменных. Также появилась поддержка динамического параллелизма — потоки GPU мо-
гут генерировать новые потоки без обращения к CPU, что может давать преимущества на
некоторых задачах.
   Тестирование видеокарт поколения Fermi и более старого Tesla на алгоритмах молеку-
лярной динамики проводилось в работе [10]. Показано, что относительная производитель-
ность видеокарт от числа ядер хорошо описывается законом Амдала, то есть имеет место
ограничение роста производительности из-за невозможности обеспечить стопроцентную па-
раллелизацию алгоритма.


2.2. Intel Xeon Phi

   Сопроцессоры Intel Xeon Phi впервые были представлены в 2012 году, на сегодняшний
день представлено три серии сопроцессоров. В зависимости от модели сопроцессор имеет
57, 60 или 61 ядро. В данной работе рассматривалась модель Intel Xeon Phi SE10X с 61
ядром, установленная на суперкомпьютере МВС-10П МВС РАН. Каждое ядро имеет кэш
инструкций и кэш данных по 32 КБ (первый уровень); инклюзивный кэш 512 КБ (второй
уровень) и 512-битное векторное АЛУ. Все ядра соединены между собой двунаправленной
кольцевой шиной. В отличие от GPU, на сопроцессоре запускается отдельная операционная
система, что уменьшает на единицу число реально выделенных для расчетов ядер. Пико-
вая производительность сопроцессора при работе с двойной точностью достигает 1.0736
ТФлопс.
   Существует три способа использования сопроцессора Intel Xeon Phi: 1) режим разгруз-
ки (offload mode), 2) «родной» режим (native mode) сопроцессора и 3) симметричный режим
(symmetrical mode). В режим разгрузки основная программа запускается на обычном про-
цессоре, на сопроцессоре выполняются определенные участки программного кода. Это мож-
но делать автоматически при использовании библиотеки Intel Math Kernel Library (MKL),
либо в явном виде при использовании директив компилятора путем модификации исход-
ного кода. В «родном» режиме программа запускается исключительно на сопроцессорах,
и, наконец, в симметричном режиме одна программа одновременно запускается на CPU
и сопроцессоре. Однако из-за различной частоты процессора (\sim 2–4 ГГц для Intel Xeon) и
сопроцессора (\sim 1 ГГц для Intel Xeon Phi) в симметричном режиме могут возникнуть серьез-
ные трудности с балансировкой нагрузки. В «родном» режиме можно добиться ускорения
за счет оптимизации кода, однако при использовании суперкомпьютеров в данном случае
будут простаивать CPU на занятых узлах.
   При начале производства Intel Xeon Phi основной упор в рекламе новой технологии
делался на возможность запуска программ без переписывания исходного кода. Однако мно-
гочисленная практика показывает, что это не приводит к ускорению работы конкретных
приложений [11–14]. Для получения хотя бы минимального ускорения затраты на перепи-
сывание исходного кода программ становятся сравнимыми с аналогичными затратами на
видеокартах.
   Хотя с точки зрения производительности ускорители GPU и сопроцессоры Intel Xeon
Phi довольно близки, использование их вычислительных возможностей на 100%, не все-
гда возможно. В литературе обсуждаются сложности, возникающие при портировании
молекулярно-динамических кодов на архитектуру Intel Xeon Phi [15].




                                               217
   Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org



       Таблица 1.            Сравнение ускорителей, используемых для расчетов в данной работе
                                                                                     NVIDIA   NVIDIA   Intel Xeon Phi
       Ускоритель
                                                                                     X2070     K40        SE10X

       Число ядер                                                                     448      2880         61


       Объем памяти, Гб                                                                6        12           8


       Тактовая частота, ГГц                                                          1.15     0.745        1.1


       R\mathrm{p}\mathrm{e}\mathrm{a}\mathrm{k} с двойной точностью, ТФлопс          0.515    1.43       1.0736


       R\mathrm{p}\mathrm{e}\mathrm{a}\mathrm{k} с одинарной точностью, ТФлопс        1.03     4.29       2.1472


       Потребляемая мощность, Вт                                                      247      235          300




2.3. Особенности реализации операций с плавающей точкой на ускорите-
    лях

   Как на ускорителях NVIDIA GPU, так и на сопроцессорах Intel Xeon Phi, операции
двойной точности с плавающей точкой поддерживают набор инструкций умножения-сло-
жения с однократным округлением (fused multiply-add — FMA). При этом за один такт мо-
жет выполняться одна операция сложения и одна операция умножения вида y=a*x+b без
потери точности. Это позволяет добиться ускорения в алгоритмах, требующих суммирова-
ния произведений, например, перемножение матриц или вычисление значения многочлена
по схеме Горнера.
   Некоторые особенности возникают при расчете пиковой производительности в режиме
одинарной точности. Производительность Intel Xeon Phi увеличивается в 2 раза за счет то-
го, что в каждый регистр помещается в 2 раза больше данных. Видеокарты NVIDIA имеют
ядра, которые работают только в режиме одинарной точности (single precision units — SPU),
и ядра, поддерживающие режим двойной точности (double precision units DPU). Рост про-
изводительности в этом случае зависит от отношения SPU к DPU. Каждый SPU за 1 такт
может выполнять одну операцию FMA и одну операцию умножения, то есть три операции с
плавающей точкой на один такт. Также есть ядра, поддерживающие на аппаратном уровне
вычисление трансцендентных функций с одинарной точностью. Их обычно не учитывают
при расчете пиковой производительности.
   В алгоритмах молекулярной динамики большую часть времени расчета занимает по-
строение списка соседей и вычисление сил взаимодействия между атомами. Однако доля
операций, в которых можно использовать инструкции FMA, ничтожна. В результате выпол-
нения любой одиночной операции сложения/умножения фактически приводит к тому, что
половина вычислительной мощности ускорителя или сопроцессора остается незадейство-
ванной. В отличие от ускорителей процессоры Intel поколения Sandy Bridge и Ivy Bridge,
установленные сегодня на большинстве современных суперкомпьютеров, не поддерживают
набор инструкций FMA на аппаратном уровне.
   Используемые в работе ускорители сравниваются в таблице 1.


3. Реализация атомистических алгоритмов на ускорителях

   В данной работе для тестов использовались популярные пакеты программ для атоми-
стического моделирования LAMMPS [16], GROMACS [17], NAMD (классические задачи) и
CP2K (квантовые задачи).




                                                                               218
                           Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org



                  Таблица 2.                  Поддерживаемые архитектуры различных модулей пакета программ LAMMPS
                           Гибридная архитектура                    USER-CUDA     GPU     KOKKOS        USER-INTEL


                           GPU                                           +          +          +               -


                           Intel Xeon Phi, «родной» режим                 -          -         +               -


                           Intel Xeon Phi, режим разгрузки                -          -         -              +




                             Модули предназначены для расширения базового функционала, часть из них позво-
ляет проводить расчеты на гибридной архитектуре. Для расчетов с использованием GPU-
ускорителей существует 3 разных модуля, которые имеют названия «GPU» [19], «USER-
CUDA» и «KOKKOS» [20]. Они отличаются особенностями реализации и могут давать
различные результаты по производительности в зависимости от задачи и от используемого
оборудования. Стоит отметить, что модуль «KOKKOS» разрабатывался для карт NVIDIA
Kepler последнего поколения и может работать медленно на картах предыдущего поколения
NVIDIA Fermi. Поддержка ускорителей Intel Xeon Phi в стадии активной разработки, она
частично реализована в модулях «KOKKOS» («родной» режим) и «USER-INTEL» (режим
разгрузки) для небольшого числа межатомных потенциалов. Данные по указанным выше
модулям приведены в таблице 2.
                             В пакетах GROMACS, NAMD и CP2K также существует возможность запуска задач
на видеокартах. Реализована поддержка Intel Phi в «родном» режиме (GROMACS, CP2K)
и режиме разгрузки (NAMD).
                             Создание эффективных алгоритмов для сложных многочастичных потенциалов не все-
гда тривиально, как показывает опыт разработки на GPU [21–23]. Одной из основных про-
блем является неоднородный доступ к памяти. В результате либо приходится использовать
более ресурсоемкие атомарные операции, либо усовершенствовать имеющиеся алгоритмы.
Стоит отметить, что для эффективного использования многопроцессорных вычислитель-
ных систем также приходится оптимизировать алгоритмы, в частности, для обеспечения
динамической балансировки нагрузки на ядра [24].


4.                               Результаты тестов

4.1. Леннард-джонсовская жидкость

                             В данном разделе приводится анализ производительности пакета программ LAMMPS
на различных гибридных архитектурах. Задачи запускались на суперкомпьютере МГУ им.
М.В. Ломоносова «Ломоносов» [25] (видеокарты NVIDIA X2070) и суперкомпьютере МСЦ
РАН МВС-10П (сопроцессоры Intel Xeon Phi). Видеокарта K40 исследовалась на тестовом
компьютере, предоставленном компанией NVIDIA. Для оценки эффективности алгоритмов
рассматривалась леннард-джонсовская жидкость из 10
                                                                                   6 атомов, длина траектории состав-

ляла 100 шагов. В качестве критерия сравнения использовалось время расчета одного шага
на один атом, так как оно слабо зависит от полного числа атомов и служит объектив-
ным критерием быстродействия. Производительность гибридных архитектур соотносилась
с производительностью обычных процессоров в метрике их пиковой производительности
R\mathrm{p}\mathrm{e}\mathrm{a}\mathrm{k} .
                             Рассмотрим подробнее данные на рисунке 1. В части а) приведено сравнение обыч-
ной версии LAMMPS (без векторизации кода) и с ручной векторизацией (модуль «USER-
INTEL») на суперкомпьютерах МВС-10П и «Ломоносов». Для сравнения приведены данные
однопроцессорных тестов на некоторых вышедших из эксплуатации машинах начала 2000-



                                                                         219
     Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org




Рис. 1.                Сравнение быстродействия МД-пакета LAMMPS на различных платформах: а) Расчеты
на суперкомпьютере МВС-10П без (\oplus ) и с векторизацией (\square ) кода с использованием модуля USER-
INTEL; на суперкомпьютере «Ломоносов» без векторизации кода (\circ ). Для сравнения приведены
данные однопроцессорных тестов с сайта LAMMPS [26] (\bullet , 1 — Pentium II 333 МГц, 2 — DEC Alpha
500 МГц, 3 — PowerPC 440, 4 — Power4 1.3 ГГц, 5 — Intel Xeon 3.47 ГГЦ). Точка 6 — время расчета
на одном ядре Intel Xeon Phi; б) сравнение модулей USER-CUDA ( \triangleright ), GPU (\bigtriangleup ) и KOKKOS (\triangledown ) на
видеокартах NVIDIA X5670 GPU (суперкомпьютер Ломоносов). Также приведены данные тестов
на видеокартах С2075 с сайта LAMMPS (заполненные символы); в)сравнение модулей USER-CUDA
( \triangleright ), GPU (\bigtriangleup ) и KOKKOS (\triangledown ) на NVIDIA K40 GPU. Заполненные символы — данные тестов с сайта
LAMMPS для видеокарт Tesla K20x; г) быстродействие ускорителя Intel Xeon Phi на МВС-10П (\diamond ).
Верхняя точка — запуск в native-mode без оптимизации, нижняя — использование оптимизации
модуля KOKKOS.

х гг. (таблица 3). Пиковая производительность рассчитывалась как произведение тактовой
частоты на число ядер и на число операций с плавающей точкой на один такт (в соответ-
ствии со значениями, приводящимися в списке Топ-500). Крайние левые точки для МВС-
10П и «Ломоносова» соответствуют одному вычислительному ядру, крайние правые — 256
ядрам. Пунктиром показана идеальная масштабируемость, когда увеличение вычислитель-
ного поля в два раза приводит к уменьшению времени расчета в 2 раза для той же задачи.
Видно, что оптимизация «USER-INTEL» позволят добиться двукратного роста скорости
расчета.
     Рост производительности современных суперкомпьютеров идет как по пути наращива-
ния вычислительных ядер, так и наращивания сложности самого ядра, внедрения операций
FMA и поддержки векторных инструкций. Это приводит к увеличению теоретической пи-
ковой производительности, которая зачастую не может использоваться на 100% для многих
алгоритмов.
     Эту ситуацию можно проиллюстрировать на примере процессоров Power4 и PowerPC 440
(точки 3 и 4 на рис. 1а), которые выбиваются из обратной пропорциональности времени
расчета от пиковой производительности ядра. Однако эти точки ложатся на общую ли-
нию, если уменьшить реальное число операций на такт с 4 до 2 для Power4 и с 4 до 1 для
PowerPC 440 (и, соответственно, пиковую производительность ядра). В первом случае 4
операции на такт обеспечиваются двумя операциями FMA, во втором случае — двойной
операцией FMA (одна операция FMA применяется к двум сегментам данных). Таким об-
разом, в данном случае реальная производительность составляет 50% и 25% от R\mathrm{p} \mathrm{e}\mathrm{a}\mathrm{k} даже




                                                              220
    Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org



                  Таблица 3.     Сравнительная характеристика некоторых процессоров
                                          Тактовая           Число операций с                      Пиковая
                         Модель
  Компьютер                                частота,       двойной точностью на             производительность
                       процессора
                                              ГГц                    такт                  одного ядра, ГФлопс

  МВС-10П            Xeon E5-2690             1.2                       8                              9.6


  Ломоносов           Xeon X5570              2.93                      4                            11.73


  Ross                DEC Alpha               0.5                       2                               1


  BlueGene/L         PowerPC 440              0.7                       4                              2.8


  Cheetah                Power4               1.3                       4                              5.2


  Настольный          Xeon X5690              3.47                      4                            13.88




на одном ядре. Аналогичный результат справедлив и для ускорителя Intel Xeon Phi (точка
6 на рис. 1а), теоретически можно выполнять операции FMA над векторами из 8 элемен-
тов (16 операций на такт), при этом время расчета ложится на общую зависимость при
уменьшении числа операций на такт с 16 до 1.
     В части б) рисунка 1 показано сравнение времен расчета на кластере «Ломоносов» с
использованием различных модулей LAMMPS. Аналогичное исследование для видеокарты
NVIDIA Tesla K40 показано в части в) рисунка 1. Программная реализация алгоритмов на
GPU сильно влияет на скорость расчета, для одних и тех же данных она может отличаться
в несколько раз. Например, модуль «USER-CUDA» хорошо оптимизирован для запусков
задач на одной видеокарте, но увеличение их числа не дает соответствующего увеличения
скорости расчета. Несмотря на указанный разброс, во всех случаях их производительность
существенно уступает производительности CPU в метрике R\mathrm{p} \mathrm{e}\mathrm{a}\mathrm{k} . При этом использование
видеокарт требует больших временных затрат на оптимизацию кода. Аналогичный вывод
справедлив и при запуске задач на всех ядрах ускорителя Intel Xeon Phi SE10X в «род-
ном» режиме, данные приведены в части г) рисунка 1. Аналогично одноядерному случаю
сопроцессоры проигрывают обычным CPU по эффективности использования R\mathrm{p} \mathrm{e}\mathrm{a}\mathrm{k} (к тому
же выводу приходят авторы работы [6]). Таким образом, из одинаковых значений R\mathrm{p} \mathrm{e}\mathrm{a}\mathrm{k}
не следует одинаковое время решения задач. На это влияют два фактора, упоминавшихся
ранее. Во-первых, в алгоритмах, не требующих операций FMA, фактически невозможно ис-
пользовать более половины заявленной величины R\mathrm{p} \mathrm{e}\mathrm{a}\mathrm{k} . Во-вторых, рост вычислительной
мощности современных ускорителей не сопровождается соответствующим ростом каналов
передачи данных, что может приводить к простою из-за ожидания новых данных для даль-
нейших вычислений.


4.2. Белок в водной системе

     Аналогичное сравнение суперкомпьютеров по эффективности использования пиковой
вычислительной мощности R\mathrm{p} \mathrm{e}\mathrm{a}\mathrm{k} сделано для задачи расчета свойств белка в водной си-
стеме. В сравнение по данной метрике включены и специализированные архитектуры типа
ANTON.
     Суперкомпьютер ANTON-2 основан на интегральной схеме специального назначения
(ASIC), разработанной для численной реализации алгоритма классической молекулярной
динамики в моделях с межчастичными потенциалами, ориентированными на биомолеку-
лярные задачи. Суперкомпьютер содержит 512 узлов, объединенных специализированным




                                                          221
    Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org




Рис. 2. Сравнение быстродействия теста ApoA1 на классической и специализированной архитек-
туре. Cимволы \oplus  и \diamond  показывают производительность ПО Gromacs на суперкомпьютере МВС-10П,
остальные — ПО NAMD на различных суперкомпьютерах.

интерконнектом с топологией 3-х мерного тора. При создании соответствующих специа-
лизированных микропроцессоров ASIC и интерконнекта разработчики преследовали цель
реализации максимально возможного уровня параллелизации молекулярно-динамического
алгоритма [4].
    На рисунке 2 сравниваются расчетные времена для стандартного теста ApoA1 (белок
аполипротеин А-1, 92244 атома, 500 и более шагов). Приведены данные тестов ПО NAMD на
суперкомпьютерах Cray XK6 [27], IBM BlueGene/P и BlueGene/Q [28], специализированной
платформы ANTON первого и второго поколения (512 узлов) [4] и ПО Gromacs на супер-
компьютере МВС-10П. Несмотря на различную архитектуру, число ядер и программную
реализацию молекулярно-динамического кода, данные хорошо согласуются между собой.
Однако на суперкомпьютерах IBM BlueGene хорошо заметна вышеуказанная проблема с
невозможностью полноценного использования операций FMA. Также на суперкомпьюте-
рах IBM BlueGene и Cray при использовании большого числа ядер заметно увеличение
времени расчета из-за обмена данными между узлами.
    Полученный график показывает универсальность числа R\mathrm{p} \mathrm{e}\mathrm{a}\mathrm{k} для сравнения различ-
ных архитектур, а также показывают перспективность узкоспециализированных суперком-
пьютеров (типа ANTON-2) для задач классической молекулярной динамики.


4.3. Квантовый МД-расчет молекул воды

    Метрика «время решения — пиковая производительность» пригодна и при рассмот-
рении квантовых МД-задач. Для сравнения различных суперкомпьютеров использовался
стандартный тест воды из пакета программ CP2K. На рисунке 3 приведены времена рас-
чета для различного числа молекул воды на суперкомпьютерах Cray XT3 и XT5, IBM
BlueGene/P и К-100 ИПМ РАН.
    Для одного узла производительность в секундах на 1 шаг довольна близка для раз-
личных систем. Роль интерконнекта становится очевидной при использовании нескольких



                                                        222
   Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org




Рис. 3.Квантовый МД-расчет молекул воды (от 32 до 2048) с использованием пакета CP2K на
различных суперкомпьютерах

узлов, когда происходит падение производительности из-за интенсивного обмена данными.
Для суперкомпьютера IBM BlueGene/P также заметна потеря значительной доли пиковой
производительности из-за операций FMA.


5. Выводы

   Введена очевидная, но ранее не используемая метрика для ранжирования высокопро-
изводительных вычислительных систем «время решения — пиковая производительность (в
единицах флопс)». Данная метрика использована для сравнения гибридных, специализи-
рованных и других систем на примерах моделей классической молекулярной динамики.
Наилучшую эффективность в данной метрике на модели леннард-джонсовской жидкости
показывают процессоры Intel Xeon с использованием алгоритмов с ручной векторизацией
из пакета «USER-INTEL» в LAMMPS. Эффективность аппаратного обеспечения NVIDIA
GPU повышается в моделях последнего поколения с использованием новейших программ-
ных решений (пакета «KOKKOS» в LAMMPS), однако на сегодняшний день значительно
проигрывает эффективности Intel Xeon. Таким образом, при одинаковой вычислительной
мощности наименьшее время расчета достигается на классических процессорах, хотя они
проигрывают NVIDIA GPU по энергопотреблению и стоимости. Ускорители Intel Xeon Phi
на текущий момент не эффективны для ускорения молекулярно-динамических расчетов и
не оправдывают своей стоимости.
   Результаты тестов показывают, что предложенная метрика выявляет аппаратное обес-
печение, оптимизированное под тесты типа LINPACK и являющееся существенно менее эф-
фективным для приложений иного типа. В частности, подобный результат был ожидаем для
архитектур NVIDIA GPU и Intel Xeon Phi, однако и для процессоров IBM Power оказалось,
что максимальная эффективность операций с плавающей точкой для задач молекулярной



                                               223
   Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org


динамики соответствует лишь половине декларируемой пиковой производительности.
   Показано, что архитектура таких специализированных решений, как ANTON и ANTON-
2, обеспечивает близкое к 100% использование полной пиковой производительность этих
суперкомпьютеров даже на молекулярно-динамических задачах малого размера.


Литература

 1. Список 500 лучших суперкомпьютеров. URL: http://top500.org (дата обращения:
   16.04.2015).


 2. High-Performance Computing Using FPGAs / Ed. Vanderbauwhede W., Benkrid K. —New
   York: Springer Verlag, 2013, 803 p.


 3. Ohmura I., Morimoto G., Ohno Y., Hasegawa A.,Taiji M. MDGRAPE-4: a special-purpose
   computer system for molecular dynamics simulations // Phil Trans R Soc A, 2014, vol.
   372, p. 20130387.


 4. Shaw D.E. et al. Anton 2: Raising the Bar for Performance and Programmability in a
   Special-Purpose Molecular Dynamics Supercomputer // SC14 Int. Conf. High Perform.
   Comput. Networking, Storage Anal. —Piscataway:IEEE Press, 2014, p. 41–53.


 5. Подрыга В.О., Поляков С.В. Молекулярно-динамическое моделирование установления
   термодинамического равновесия в никеле // Математическое моделирование, 2015, т.
   27, № 3, с. 3–19.


 6. Подрыга В.О., Поляков С.В., Пузырьков Д.В. Суперкомпьютерное молекулярное
   моделирование термодинамического равновесия в микросистемах газ-металл //
   Вычислительные методы и программирование, 2015, т. 16 , №. 1, с. 123–138.


 7. Eckhardt W. et al. 591 TFLOPS multi-trillion particles simulation on SuperMUC //
   Supercomputing, vol. 7905, 2013, 473p.


 8. Стегайлов В.В., Норман Г.Э. Проблемы развития суперкомпьютерной отрасли в
   России?: взгляд пользователя высокопроизводительных систем // Программные
   системы: теория и приложения, 2014, т. 1, № 19, с. 111–152.


 9. Куксин А.Ю., Ланкин А.В., Морозов И.В., Норман Г.Э., Орехов Н.Д., Писарев В.В.,
   Смирнов Г.С., Стариков С.В., Стегайлов В.В., Тимофеев А.В. ЗАЧЕМ и КАКИЕ
   нужны суперкомпьютеры эксафлопсного класса?? Предсказательное моделирование
   свойств и многомасштабных процессов в материаловедении // Программные системы:
   теория и приложения, 2014, т. 1, № 19, с. 191–244.


10. Пестряев Е.М. Тестирование многоядерных графических процессоров на алгоритме
   молекулярной динамики // Математическое моделирование, 2014, т. 26, №1, с. 1–12.


11. Reid F., Bethune I. Optimising CP2K for the Intel Xeon Phi. URL:
   http://www.prace-ri.eu/IMG/pdf/wp140.pdf (дата обращения: 16.04.2015).


12. Jeong H. et al. Performance of Kepler GTX Titan GPUs and Xeon Phi System. URL:
   http://arxiv.org/abs/1311.0590 (дата обращения: 16.04.2015).


13. Chan E.Y.K. Benchmarks for Intel MIC Architecture. URL:
   http://www.clustertech.com/wp-content/uploads/2014/01/MICBenchmark.pdf (дата
   обращения: 16.04.2015).


14. URL: http://www.nvidia.ru/object/gpu-computing-facts-ru.html (дата обращения:
   16.04.2015).



                                               224
   Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org


15. Pennycook S.J. et al. Exploring SIMD for molecular dynamics, using Intel Xeon processors
    and Intel Xeon Phi coprocessors // IPDPS-13 Proceedings, 2013, 1338 c.


16. Plimpton S. Fast Parallel Algorithms for Short-Range Molecular Dynamics // J. Comput.
    Phys., 1995, vol. 117, № 1, p. 1–19.


17. Pronk, S. et al. GROMACS 4.5: a highthroughput and highly parallel open source
    molecular simulation toolkit. // Bioinformatics, 2013, vol. 29, № 7, 845–854


18. Phillips J.C. et al. Scalable molecular dynamics with NAMD // J. Comput. Chem. 2005.
    Vol. 26, № 16. P. 1781–1802.


19. Brown W.M. et al. Implementing molecular dynamics on hybrid high performance
    computers–short range forces // Comput. Phys. Commun, 2011, vol. 182, № 4, p. 898–911.


20. Carter Edwards H., Trott C.R., Sunderland D. Kokkos: Enabling manycore performance
    portability through polymorphic memory access patterns // J. Parallel Distrib. Comput.,
    2013, vol. 74, № 12, p. 3202–3216.


21. Morozov I.V., Kazennov A.M., Bystryi R.G., Norman G.E., Pisarev V.V., Stegailov V.V.
    Molecular dynamics simulations of the relaxation processes in the condensed matter on
    GPUs // Comput. Phys. Commun., 2011, vol. 182, № 9, p. 1974–1978.


22. Brown W.M., Kohlmeyer A., Plimpton S.J., Tharrington A.N. Implementing molecular
    dynamics on hybrid high performance computers – Particle–particle particle-mesh //
    Comput. Phys. Commun., 2012, vol. 183, № 3, p. 449–459.


23. Brown W.M., Yamada M. Implementing molecular dynamics on hybrid high performance
    computers - Three-body potentials // Comput. Phys. Commun., 2013, vol. 184, № 12, p.
    2785–2793.


24. Begau C., Sutmann G. Adaptive dynamic load-balancing with irregular domain
    decomposition for particle simulations // Comput. Phys. Commun, 2015, vol. 190, p. 51–61.


25. Воеводин Вл.В., Жуматий С.А., Соболев С.И., Антонов А.С., Брызгалов П.А.,
    Никитенко Д.А., Стефанов К.С., Воеводин Вад.В. Практика суперкомпьютера
    “Ломоносов” // Открытые системы. 2012. т. 7, с. 36–39.


26. URL: http://lammps.sandia.gov/bench/lj_one.html (дата обращения: 16.04.2015).


27. Sun Y., Zheng G., Mei C., Bohm E.J., Phillips J.C., Kale L. V., Jones T.R. // In proc. Int.
    Conf. High Perform. Comput. Networking, Storage Anal, 2012.


28. Kumar S., Sun Y., Kale L. V. Acceleration of an asynchronous message driven
    programming paradigm on IBM Blue Gene/Q // IPDPS-13 Proceedings, 2013, 1338 p.




                                               225
   Суперкомпьютерные дни в России 2015 // Russian Supercomputing Days 2015 // RussianSCDays.org



What is the fastest way to compute quantum and classical
atomistic models using the latest software algorithms and
supercomputing hardware?
Grigory Smirnov and Vladimir Stegailov
Keywords: atomistic models, efficiency, scalability, peak performance
Development of new HPC architectures proceeds faster than the corresponding adjustment of
the algorithms for such fundamental mathematical models as quantum and classical and
quantum molecular dynamics. Due to the abundance of hardware options there is the need for
clear guiding criteria for the computational efficiency of a particular model on a particular
hardware. LINPACK benchmark alone can no longer serve this role. In this work we consider
a practical metric of the time-to-solution versus the computational peak performance of a
given hardware system. In this metric we compare different hardware (both legacy and
modern) for the LAMMPS, GROMACS, NAMD and CP2K software packages widely used
for atomistic modeling. The metric considered can serve as a universal unambiguous scale
that ranges different combinations of CPUs, accelerators and interconnects.