ПаВТ 04.2018

Конференция "Параллельные вычислительные технологии 2018" проходила 2 - 6 Апреля 2018 г. по адресу Россия, Ростов-на-Дону, Донской государственный технический университет.

А.С. Колганов выступил с докладом:

Оптимизация обработки изображений с использованием ГПУ

В данной статье рассмотрены подходы к оптимизации обработки изображений на графическом процессоре на примере алгоритма медианной фильтрации. Производится сравнение со свободно распространяемой библиотекой обработки изображений на центральном процессоре, в которой используются векторные инструкции AVX2. Достигнутая скорость фильтрации квадратом 3х3 в 100 GPixels/sec для GPU Titan Pascal и удельная скорость фильтрации квадратом 3х3 в 10.2 GPixels/sec на 1 TFlops для одинарной точности на данное время являются самыми высокими из всех известных в мире.

Автор статьи - А.С. Колганов.

А.С. Колганов выступил с докладом:

Самая быстрая и энергоэффективная реализация алгоритма поиска в ширину на одноузловых различных параллельных архитектурах согласно рейтингу Graph500

Поиск в ширину (BFS) является одним из основных алгоритмов обхода графа и базовым для многих алгоритмов анализа графов более высокого уровня. Поиск в ширину на графах является задачей с нерегулярным доступом к памяти и с нерегулярной зависимостью по данным, что сильно усложняет его распараллеливание на все существующие архитектуры. В статье будет рассмотрена реализация алгоритма поиска в ширину (основного теста рейтинга Graph500) для обработки больших графов на различных архитектурах: Intel х86, IBM Power8+, Intel KNL и NVidia GPU. Будут описаны особенности реализации алгоритма на общей памяти, а также преобразования графа, которые позволяют достичь рекордных показателей производительности и энергоэффективности на данном алгоритме среди всех одноузловых систем рейтинга Graph500 и GreenGraph500.

Автор статьи - А.С. Колганов.

А.С. Колганов выступил с докладом:

Статический анализ приватных переменных в системе автоматизированного распараллеливания Фортран-программ

Ресурс параллелизма в программах в основном сосредоточен в циклах. Для того, чтобы цикл мог выполняться параллельно, необходимо обеспечить отсутствие зависимостей по данным. К одному виду таких зависимостей относятся зависимости по скалярным переменным, которые могут быть приватизированы для каждого витка цикла, так как используются только в рамках одного витка. В настоящей статье анализируется проблема автоматического определения и расстановки приватизируемых переменных в циклах для их последующего параллельного выполнения в Фортран-программах. Предлагается алгоритм их определения, основанный на методах анализа потока данных, его расширение для межпроцедурного анализа. Приводятся результаты проверки алгоритма на ряде программ из пакета тестов NASA, а также на композиционной модели многокомпонентной фильтрации при разработке месторождений нефти и газа.

Работа выполнена при поддержке грантов РФФИ №№17-01-00820, 18-01-00851 А.

Статья написана коллективом авторов: А.С. Колганов, Н.Н. Королев.

А.С. Колганов выступил с докладом:

Преобразование последовательных Си-программ для их распараллеливания

Распараллеливание часто требует значительного преобразования программы, в том числе и на уровне исходного кода, а необходимость преобразования определяется возможностями выбранной технологии параллельного программирования. Одним из важных преобразований является подстановка процедур в Си-программах, а именно, замена вызова процедуры ее непосредственным телом со всеми подставленными аргументами. Данное преобразование позволяет при выполнении программы снизить накладные расходы, связанные с вызовом процедуры, а на этапе статического анализа и компиляции делает возможным применение различных оптимизаций, в том числе и распараллеливающих, без фактического межпроцедурного анализа. Применение данной оптимизации на уровне исходного кода позволит системе САПФОР определять более эффективные схемы распараллеливания пользовательской программы. Соответствующий модуль для системы САПФОР был реализован на языке C++ с применением инфраструктуры LLVM и Clang и проверен на тестах из набора NAS Parallel Benchmarks.

Работа выполнена при поддержке Российского фонда фундаментальных исследований, проекты 16-07-01067, 17-01-00820 и 18-01-00851.

Статья написана коллективом авторов: Ю.Г. Зыков, Н.А. Катаев, А.С. Колганов.

В.А. Бахтин выступил с докладом:

Опыт решения прикладных задач, использующих нерегулярные сетки, с использованием DVM-системы

DVM-система предназначена для разработки параллельных программ научнотехнических расчетов на языках C-DVMH и Fortran-DVMH. Эти языки используют единую модель параллельного программирования (DVMH-модель) и являются расширением стандартных языков Си и Фортран спецификациями параллелизма, оформленными в виде директив компилятору. DVMH-модель позволяет создавать эффективные параллельные программы для гетерогенных вычислительных кластеров с ускорителями. В статье описывается опыт использования DVM-системы для распараллеливания прикладных программ, использующих нерегуляные сетки.

Исследование выполнено при финансовой поддержке РФФИ в рамках научных проектов № 16-07-01014, 16-07-01067 и 17-01-00820.

Статья написана коллективом авторов: В.А. Бахтин, А.А. Ермичев, Д.А. Захаров, В.А. Крюков, Н.В. Поддерюгина, М.Н. Притула.