RUS  ENG
Полная версия
ЖУРНАЛЫ // Вестник Южно-Уральского государственного университета. Серия «Математическое моделирование и программирование» // Архив

Вестн. ЮУрГУ. Сер. Матем. моделирование и программирование, 2020, том 13, выпуск 3, страницы 59–67 (Mi vyuru557)

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

Программирование

Распараллеливание рекуррентных циклов с предварительным вычислением суперпозиций

О. Б. Штейнберг

Южный федеральный университет, г. Ростов-на-Дону, Российская Федерация

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

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

УДК: 510.57

MSC: 68W10

Поступила в редакцию: 07.03.2020

DOI: ~10.14529/mmp200305



© МИАН, 2024