Разработка и реализация высокопроизводительной параллельной платформы для проведения суперкомпьютерных расчетов жидкокристаллических структур на архитектурах с массовым параллелизмомНИР

Development and implementation of high-performance parallel platform for supercomputer simulations of liquid crystal structures on architectures with massive parallelism

Источник финансирования НИР

грант РФФИ

Этапы НИР

# Сроки Название
1 2 декабря 2019 г.-30 ноября 2020 г. Разработка и реализация высокопроизводительной параллельной платформы для проведения суперкомпьютерных расчетов жидкокристаллических структур на архитектурах с массовым параллелизмом
Результаты этапа: В рамках первого этапа данного проекта были получены следующие результаты. Был выполнен анализ производительности существующей реализации GPU-приложения для проведения расчета структур и свойств ЖК капель. Он показал, что основу приложения составляют 5 вычислительно-затратных ядер, схожих по своей структуре. Поэтому далее был проведен более детальный анализ одного из этих ядер. Были предложены возможные подходы к оптимизации данного ядра, направленные, в первую очередь, на улучшение организации доступа в память и повышение загрузки GPU-устройств. На основе предложенных подходов были определены конкретные способы оптимизации для ускорения выполнения приложения на GPU-устройствах: внедрение мультизадачности, изменение числа используемых регистров, улучшение шаблона доступа к глобальной памяти, уменьшение размерности используемых данных без потери точности. Эти варианты оптимизации были далее применены к выбранному вычислительному ядру, и результаты были проверены на GPU P100, V100 и RTX 2080Ti. Было продемонстрировано существенное ускорение приложения (так, для GPU P100 было получено ускорение от 2 до 3.6 раз для сеток различных размеров). После этого предложенные оптимизации (кроме улучшения шаблона доступа к памяти) были успешно применены также и ко всем остальным вычислительно-затратным ядрам. Также была исследована возможность переноса приложения на другие типы архитектур – векторные процессоры NEC SX-Aurora и процессоры Intel Xeon с векторными расширениями AVX-512 (использовались Intel Xeon Gold 6126, установленные на суперкомпьютере Ломоносов-2). Проведенные работы по переносу выбранного вычислительного ядра показали, что можно не только перенести приложение, но и существенно оптимизировать его выполнение под каждую из типов архитектур. Отметим, что многие направления оптимизации оказались схожими для всех типов архитектур, однако техническая реализация в каждом случае зачастую существенно отличалась. Далее было выполнено тестирование полученных результатов и сравнение производительности решений для всех трех архитектур (GPU, NEC SX-Aurora, Intel Xeon). Результаты сравнения показали, что наилучшая производительность достигается на GPU V100, а GPU RTX 2080Ti демонстрирует большую производительность, чем NEC на маленьких и средних размерах сетки, в то время как на больших сетках полученная производительность на данных архитектурах практически идентична. По сравнению с вышеперечисленными аппаратными платформами производительность NVIDIA Tesla P100 довольно мала – меньше в 2-3 раза, производительность же Intel Xeon Gold 6126 еще меньше – в 9-10 раз. Отдельно была исследована возможность распараллеливания приложения на несколько графических ускорителей. Было показано, что наиболее логичным и эффективным в данном случае является распараллеливание по независимым задачам и запускам внутри задач. Такое распараллеливание позволяет получить линейное ускорение, что было проверено на 16 GPU V100. Отметим, что при таком подходе процесс распараллеливания независим от используемой архитектуры, поэтому он аналогичным образом может быть реализован и на других архитектурах. Также была расширена функциональность приложения за счет реализации новых методов расчетов жидкокристаллических структур с применением адаптивных сеток. Данные методы позволяют существенно повышать детализацию сеток в местах с пространственными неоднородностями без кардинального повышения времени выполнения приложения. Проведенное тестирование показало корректность поведения программы расчетов с адаптивной сеткой. Также были предложены возможные направления оптимизации производительности данных методов. На основе разработанных методов была реализована пилотная версия высокопроизводительной параллельной платформы для проведения расчета структур и свойств жидкокристаллических капель. Для этого были сформулированы требования к данной платформе, разработана и описана ее общая архитектура и алгоритм работы. Также составлен список работ, необходимых для реализации платформы, существенная часть их которых уже выполнена (в частности, реализованы тесты корректности и производительности платформы и составлено обучающее руководство пользователя). С учетом полученного опыта при разработке платформы, были определены фундаментальные принципы построения подобных платформ для проведения расчетов ЖК структур в целом, что будет использовано на следующем этапе при разработке общей методики построения таких платформ. Были также проведены расчеты структуры осажденных на волокно жидкокристаллических капель со слабыми гомеотропными граничными условиями, а также осажденных на поверхность жидкокристаллических капель. Данные исследования, актуальные как в фундаментальном, так и в прикладном значении, востребованы на практике для создания различных ЖК устройств. По результатам проведенных расчетов были написаны две публикации (одна опубликована, вторая сдана в редакцию).
2 1 декабря 2020 г.-1 декабря 2021 г. Разработка и реализация высокопроизводительной параллельной платформы для проведения суперкомпьютерных расчетов жидкокристаллических структур на архитектурах с массовым параллелизмом
Результаты этапа: На текущем, втором этапе данного проекта были получены следующие результаты. Была выполнена адаптация стохастически аппроксимирующего метода Монте-Карло для применения в рамках существующей реализации для расчета жидкокристаллических структур. Данный метод представляет практический интерес для моделирования жидкокристаллических систем в рамках разрабатываемого комплекса и не заменяет собой основной метод оптимизации – отжиг Монте-Карло с критерием Метрополиса, а является дополнительным инструментом исследования. В рамках данного этапа этот метод был реализован, а также была успешно протестирована его корректность и производительность. Полученная реализация показала свою применимость и полезность на практике. По результатам работы по данному направлению готовится публикация. Была проведена тонкая оптимизация производительности всех существующих и новых методов расчетов жидкокристаллических структур, разработанных для графических ускорителей в рамках данного проекта. В частности, разработанные на первом этапе оптимизации были применены со всем вычислительным ядрам приложения, была оптимизирована работа всех основных вычислительных ядер в областях, выходящих за пределы триангулированного объема жидкокристаллической капли, а также проведена алгоритмическая оптимизация, позволившая сократить количество операций копирования в CUDA-ядрах, отвечающих за расчет энергии дефектов и принятие шага. Это позволило добиться ускорения до двух раз по сравнении с версией программы, полученной на первом этапе. По результатам проведенных работ была подготовлена и опубликована статья. Также был выполнен перенос и оптимизация всех вычислительных ядер приложения для работы на архитектурах с массовым параллелизмом, а именно, на процессорах NEC SX-Aurora TSUBASA и на современных кластерных системах. Была проведена оценка их корректности и производительности, которая показала, что полученные решения работают корректно, обладают достаточно высокой производительностью и потому могут представлять практический интерес для пользователей приложения. Была выполнена программная реализация финальной версии высокопроизводительной параллельной платформы для проведения расчета структур жидкокристаллических капель на графических ускорителях. Данная платформа выполнена в виде отчуждаемого программного пакета, содержащего код основной программы для проведения расчетов, код вспомогательных программ для подготовки и обработки входных и выходных данных, обучающее руководство с набором необходимых инструкций и рекомендаций по работе с данным программным комплексом, а также набор тестов и примеров для проверки пользователями корректности и производительности пакета. Данная платформа была также адаптирована для проведения расчетов на архитектурах с массовым параллелизмом (процессорах NEC SX-Aurora TSUBASA и кластерных системах); в частности, она была апробирована на суперкомпьютере Ломоносов 2 петафлопсного уровня производительности. Также были определены механизмы предоставления доступа к этой платформе сторонним пользователям, а также приобретена и подготовлена рабочая станция с новейшей графической картой NVIDIA А100, что позволит расширить число заинтересованных пользователей, а также упростить для них процесс ознакомления и тестирования этого решения. Была проведена апробация разработанной платформы на практике, которая показала, что корректировка алгоритмов работы с платформой не требуется, а сама платформа является отчуждаемой и готова для предоставления доступа к ней сторонним пользователям. На основе реализованной платформы были проведены расчеты структуры осажденных на волокно жидкокристаллических капель с сильными гомеотропными граничными условиями. Данные исследования востребованы на практике для быстрого контроля качества поверхности синтетических волокон оптическими методами. Была разработана общая методика построения подобных высокопроизводительных параллельных платформ для проведения суперкомпьютерных расчетов жидкокристаллических структур на архитектурах с массовым параллелизмом. Данная методика включает описание фундаментальных принципов, которые необходимо учитывать при реализации таких платформ, описание методов для повышения производительности приложений для графических ускорителей, использующих методы Монте-Карло в континуальном поле, а также набор рекомендаций для разработки эффективного, удобного и переносимого решения, проведения его апробации и тестирования.

Прикрепленные к НИР результаты

Для прикрепления результата сначала выберете тип результата (статьи, книги, ...). После чего введите несколько символов в поле поиска прикрепляемого результата, затем выберете один из предложенных и нажмите кнопку "Добавить".