ECP предоставляет программное обеспечение для визуализации в Exascale и системах HPC с ускорением на GPU

Развитие ВТК-м toolkit, набор инструментов для научной визуализации для новых архитектур, является важным шагом вперед в поддержке научной визуализации на экзафлопсных системах и системах с ускорением на GPU для пользователей высокопроизводительных вычислений (HPC). VTK-m необходим, потому что, как это ни парадоксально, в настоящее время графические процессоры имеют проблемы с программным обеспечением при поддержке крупномасштабных задач научной визуализации. По историческим причинам их массивная многопоточная архитектура, отдельные подсистемы памяти и появление новых рабочих процессов визуализации, таких как на месте а также в пути визуализации, которые обходят перемещение данных для моделирования больших данных, в настоящее время проблематичны для научной визуализации. Кен Морленд, старший научный сотрудник Группы визуализации Окриджской национальной лаборатории (ORNL), отмечает, что «VTK-m вводит новый образ мышления. об основных алгоритмах визуализации, которые могут лучше использовать новые компьютерные архитектуры, такие как графические процессоры. Большинство рабочих нагрузок по научной визуализации для проекта экзафлопсных вычислений (ECP) будут использовать инструментарий VTK-m при работе на будущих суперкомпьютерах exascale ». Это связано с тем, что текущие эксафлопсные системы США разработаны для совместной работы с ускорителями графических процессоров для обеспечения эксафлопсных уровней производительности.

Долгожданное добавление возможностей графического процессора VTK-m означает, что многие пакеты, использующие хорошо зарекомендовавший себя, широко используемый набор инструментов визуализации (VTK) для трехмерной компьютерной графики, обработка изображений и научная визуализация больше не ограничиваются системами на базе ЦП. Обещая как производительность, так и портативность, команда VTK-m предлагает поддержку графических процессоров различных производителей для 3D-визуализации всем научным пользователям, использующим графические процессоры, благодаря его природе с открытым исходным кодом. [i]

Программное обеспечение VTK на базе ЦП, созданное в 1993 году, имело огромный успех, а благодаря лицензии с открытым исходным кодом оно получило широкое распространение в научном сообществе. Известный ParaView а также Визит Пакеты визуализации основаны на программном обеспечении VTK.

Как показано на рисунке 1, в первые два десятилетия развития VTK преобладали процессоры с небольшим количеством ядер. Красная линия на рисунке 1 показывает небольшое количество ядер на сокет, используемое суперкомпьютерами из списка TOP500 с начала 1990-х до 2014 года, что означает отсутствие реальной необходимости в оптимизации VTK для многоядерной многопоточной производительности. Архитектура машин с тех пор изменилась. Сейчас большинство суперкомпьютеров в списке TOP500 имеют GPU-ускорение. [ii] Все планируемые в настоящее время эксафлопсные системы в США будут иметь ускорение на графическом процессоре.

Рисунок 1. Количество ядер на сокет в системах TOP500 до 2014 г. (Источник: Strohmaier and Meuer, 2015)

Современные системы на основе многоядерных процессоров и массивно-параллельных графических процессоров теперь поддерживают высокую степень параллелизма, что, к сожалению, отрицательно сказывается на производительности VTK на этих устройствах. Помимо проблем с динамическим распределением памяти, в статье Moreland et al. (2016) обосновывает необходимость VTK-m, отмечая, что «алгоритмы тонкой многопоточной визуализации должны учитывать потенциальный дисбаланс нагрузки и соответствующим образом планировать работу». В документе подчеркивается, что «VTK-m реализует визуализацию с использованием этого нового метода. Это требует переосмысления того, как мы хотим реализовать вещи. Понятно, что мы не хотим переписывать ВТК. Вместо этого VTK-m был разработан для интеграции с существующими инструментами ».

Ключом к внедрению VTK-m является переносимость, которую он обеспечивает при переходе на системы, которые предоставляют эту новую мелкозернистую параллельную – и с ускорением графического процессора – функции гетерогенных вычислений. Идея состоит в том, что разработчики могут писать свои приложения один раз с помощью VTK и иметь визуализацию поддержки VTK-m на последних высокопараллельных архитектурах. Команда VTK-m даже предоставляет интерфейс для использования оригинального интерфейса прикладного программирования (API) VTK, поэтому VTK-m теперь предоставляет фундаментальные функции для научной визуализации, как показано на рисунке 1. Сильная поддержка со стороны поставщиков означает, что пользователи могут работать на Системы с графическим процессором, независимо от того, какой производитель оборудования разработал оборудование. Отчасти из-за этого аспекта переносимости и сильной поддержки со стороны поставщиков, Морленд отмечает, что «и ParaView, и VisIt используют функциональность VTK-m для поддержки обработки на базе графического процессора».

Рисунок 2. VTK-m обеспечивает базовую функциональность, обеспечивающую переносимость многопоточной производительности.

Реализованная производительность

Рисунок 3. Кандидат наук Абхишек Йенпуре. (Источник: Абхишек Йенпуре.)

Член команды VTK-m Абхишек Йенпуре (рис. 3), кандидат наук из Университета Орегона, в сотрудничестве со своим советником, Хэнком Чайлдсом, профессором факультета компьютерных и информационных наук Университета Орегона, выполнил обзор литературы. сравнить реализации алгоритмов.

На рисунке 4 показано соотношение ускорения или замедления производительности портативного алгоритма VTK-m по сравнению с непереносимой реализацией при запуске на том же оборудовании. Наблюдалось среднее ускорение на 1,14, что демонстрирует, что портативная производительность VTK-m сопоставима с существующими реализациями. [iii]

Подробное обсуждение методологии и анализа экспериментальных данных приведено в Moreland et al. (2021 год), который слишком длинный, чтобы включать его здесь. Вкратце, результаты на рисунке 4 представлены в виде среднего геометрического по проведенным экспериментам, где каждый столбец на рисунке показывает следующее.

  • Алгоритм: сообщает название протестированного алгоритма.
  • Столбец ЦП: производительность VTK-m сравнивалась с алгоритмом, написанным специально для многоядерных процессоров и реализованным с использованием параллельной многоядерной программной среды (например, OpenMP). Производительность измерялась на том же многоядерном процессоре.
  • Столбец «Графические процессоры»: производительность VTK-m сравнивалась с алгоритмом, обычно написанным на CUDA, и производительность измерялась на том же графическом процессоре NVIDIA.
  • Столбец Serial: производительность VTK-m с использованием одного ядра ЦП сравнивалась с алгоритмом, работающим только с последовательным интерфейсом. Опять же, производительность измерялась на том же процессоре.
  • Итого: сообщает об общем ускорении или замедлении. На рисунке 4 Кен Морленд любезно удалил результаты Intel Xeon Phi из этой таблицы для ясности, поскольку эта аппаратная платформа больше не производится.

Рис. 4. Относительная производительность кода графического процессора VTK-m по сравнению с реализацией того же алгоритма на ЦП. Для наглядности результаты Intel Xeon Phi были удалены. Для получения полной информации см. Moreland et al. (2021 г.). (Данные любезно предоставлены Кеном Мореландом)

Совместимость создает возможности

Совместимость с VTK означает, что VTK-m также обеспечивает естественную основу для использования графических процессоров в новых методах визуализации, таких как на месте а также в пути визуализация. Эти методы значительно сокращают или устраняют перемещение данных, что, в свою очередь, может значительно ускорить задачи визуализации и снизить энергопотребление в центре обработки данных.

По этим причинам визуализация in situ была определена как ключевая технология, позволяющая проводить науку на экзафлопсах.[iv] Визуализация на месте использует те же узлы для визуализации визуализации, что и те, которые использовались для выполнения вычислений. В качестве альтернативы визуализация в пути ослабляет прямую связь визуализации с симуляцией. Вместо этого этот метод дает пользователям возможность балансировать нагрузку на свою рабочую нагрузку, выделяя больше узлов для вычислений, а не для визуализации. В отличие от in situ, метод визуализации в процессе передачи действительно влечет за собой некоторые накладные расходы при перемещении данных по коммуникационной матрице между узлами. Оба метода хранят данные в памяти и избегают записи в хранилище.

Возможности стимулируют принятие

Морленд отмечает, что многие люди в ECP работают над интеграцией VTK-m в качестве компонента для поддержки визуализации в системах с ускорением на GPU. Проекты включают Альпийский / ZFP Проект ECP для инфраструктуры in situ, анализа данных, визуализации и сжатия для экзадачных исследований; в Катализатор ParaView (Катализатор) библиотека сценариев использования in situ, которая содержит адаптируемый API для координации работы между задачами моделирования и анализа и / или визуализации; а также libsim, библиотека для VisIt..

Ниже приведены некоторые примеры ECP с другими партнерами:

Резюме

Современные суперкомпьютеры используют многоядерные процессоры и параллелизм с массовым параллелизмом графических процессоров для достижения энергоэффективности, масштабируемости и уровня производительности, который вскоре должен быть продемонстрирован в экзадачном режиме. Чтобы идти в ногу с этими разработками, библиотека VTK-m обновила управление памятью, возможности балансировки нагрузки и производительность множества алгоритмов для поддержки научной визуализации на этих новых архитектурах. Кроме того, VTK-m был разработан для интеграции с существующими инструментами и имеет сильную поддержку от разных производителей, что делает его базовой библиотекой, которая будет использоваться всеми рабочими нагрузками визуализации ECP при работе на будущих суперкомпьютерах в США. Более того, VTK-m бесплатно доступен для всех пользователей высокопроизводительных вычислений, поэтому они могут использовать производительность графических ускорителей для своих рабочих нагрузок научной визуализации.

Роб Фарбер – глобальный технологический консультант и автор с обширным опытом в области разработки технологий высокопроизводительных вычислений и машинного обучения, которые он применяет в национальных лабораториях и коммерческих организациях. С Робом можно связаться по адресу info@techenablement.com.

[i] К. Морленд и др., «VTK-m: ускорение набора инструментов визуализации для многопоточных архитектур», Компьютерная графика и приложения IEEE 36, № 3 (2016): 48–58. Doi: 10.1109 / MCG.2016.48.

[ii] Топ 500. https://top500.org/. По состоянию на 5 ноября 2021 г.

[iii] К. Морленд и др., «Минимизация затрат на разработку для эффективной многоядерной визуализации с использованием MCD3», Параллельные вычисления 108 (2021): 102834. doi: 10.1016 / j.parco.2021.102834.

[iv] https://www.researchgate.net/publication/320532501_Report_from_the_DOE_ASCR_2011_Workshop_on_Exascale_Data_Management_Analysis_and_Visualization

Leave a comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.