Эта публикация цитируется в
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