RUS  ENG
Полная версия
ЖУРНАЛЫ // Программные системы: теория и приложения // Архив

Программные системы: теория и приложения, 2018, том 9, выпуск 4, страницы 493–508 (Mi ps326)

Эта публикация цитируется в 1 статье

Математические основы программирования

К автоматическому порождению программ трафаретных вычислений с улучшенной временной локальностью

А. В. Климов

Институт проблем проектирования в микроэлектронике РАН

Аннотация: Трафаретные (stencil) алгоритмы широко используются в задачах математического моделирования на регулярных сетках, эволюции клеточных автоматов (типа игры «жизнь»), обработки изображений, анализа последовательностей и т.п. Такие алгоритмы хорошо параллелятся, но обычные подходы к распараллеливанию имеют низкую временную локальность, что ограничивает их масштабируемость. Избавление от этого недостатка возможно при использовании различных схем переупорядочения обработки точек, когда пространство разбивается на небольшие области, помещающиеся в кэш, в которых удается продвинутся сразу на несколько итераций. Однако, такие схемы трудно программируются и отлаживаются. Есть несложный метод пирамид, но он плохо масштабируется, поскольку влечет дублирование вычислений.
Наш подход состоит в использовании более сложных схем переупорядочения без дублирования, для которых код может генерироваться автоматически из относительно несложной спецификации схемы. При этом сами схемы задаются путем назначения функций распределения вычислительных узлов по пространству и времени. В этой статье излагается подход, и рассматриваются на простом примере различные варианты кода, порождаемые по различным функциям распределения.

Ключевые слова и фразы: трафаретные алгоритмы, параллельные вычисления, автоматизация распараллеливания, временная локальность, метод пирамид, потоковая модель вычислений, планирование вычислений, распределение вычислений.

УДК: 004.4' 24
ББК: 32.973.2

MSC: Primary 97P40; Secondary 97P50, 97R40

Поступила в редакцию: 25.11.2018
19.12.2018
Подписана в печать : 30.12.2018

DOI: 10.25209/2079-3316-2018-9-4-493-508



© МИАН, 2024