Научная статья на тему 'АлгоВики: некоторые аспекты исследований свойств алгоритмов на примере метода Хаусхолдера'

АлгоВики: некоторые аспекты исследований свойств алгоритмов на примере метода Хаусхолдера Текст научной статьи по специальности «Математика»

CC BY
251
32
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ALGORITHM PROPERTIES INVESTIGATIONS / ALGOWIKI / QR DECOMPOSITION / HOUSEHOLDER METHOD / CRITICAL PATH OF GRAPH

Аннотация научной статьи по математике, автор научной работы — Фролов Алексей Вячеславович, Теплов Алексей Михайлович

Затронут ряд аспектов изучения свойств алгоритмов на примере исследований метода Хаусхолдера QR-разложения квадратных матриц общего вида. Обсуждаются проблемы, возникающие при вычислениях реальных производительностей, достигаемых компьютерными системами на разных программах и алгоритмах. Кроме этого, приведены результаты в области теоретического распараллеливания предложены две новых модификации метода Хаусхолдера с линейным критическим путем графа алгоритма. Обе основаны на использовании матрицы Грама в первом случае для предвычисления полных скалярных произведений, во втором для предвычисления скалярных произведений в подпространствах.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Фролов Алексей Вячеславович, Теплов Алексей Михайлович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

AlgoWiki: some aspects of algorithm properties investigations with Householder QR-decomposition studying as an example

Some aspects of algorithm properties investigations in AlgoWiki are concerned in the article. Householder QR-decomposition studying is an example. Efficiency calculations peculiarities are discussed. This article presents two new modifications of Householder QR decomposition with linear critical path. They are using Gram matrices for dot products predication.

Текст научной работы на тему «АлгоВики: некоторые аспекты исследований свойств алгоритмов на примере метода Хаусхолдера»

ISSN 1992-6502 (Print)

2017. Т. 21, № 4 (78). С. 153-162

Ъъшььк, QjrAQnQj

ISSN 2225-2789 (Online)

http://journal.ugatu.ac.ru

УДК 004.021

АлгоВики: некоторые аспекты исследований свойств алгоритмов на примере метода Хаусхолдера

1 7

а. в. Фролов , а. м. Теплов

1 [email protected], 2 [email protected]

Федеральное государственное бюджетное учреждение науки Институт вычислительной математики Российской академии наук (ИВМ РАН) 2Научно-исследовательский вычислительный центр Московского государственного университета

имени М. В. Ломоносова (НИВЦ МГУ)

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

Аннотация. Затронут ряд аспектов изучения свойств алгоритмов на примере исследований метода Хаусхолдера QR-разложения квадратных матриц общего вида. Обсуждаются проблемы, возникающие при вычислениях реальных производительностей, достигаемых компьютерными системами на разных программах и алгоритмах. Кроме этого, приведены результаты в области теоретического распараллеливания - предложены две новых модификации метода Хаусхолдера с линейным критическим путем графа алгоритма. Обе основаны на использовании матрицы Грама - в первом случае для предвычисления полных скалярных произведений, во втором для предвычисле-ния скалярных произведений в подпространствах.

Ключевые слова: исследование свойств алгоритмов; АлгоВики; измерение производительности вычислительных систем; критический путь графа; QR-разложение; метод Хаусхолдера.

ВВЕДЕНИЕ

Как известно [1, 2], в рамках проекта АлгоВики проводятся работы над сведением воедино информации об алгоритмах, в первую очередь, о классических. Авторы данной статьи являются также и авторами статей в АлгоВики и хотели бы здесь поделиться тем опытом, который, по мере наполнения проекта статьями, накапливается у них. В основном в этой статье будут затронуты вопросы, выявленные при работе над страницей о методе Хаусхолдера [3, 4] для выполнения QR-разложения плотной квадратной матрицы. Накопленные нами

1 В отечественной литературе, особенно советского

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

сведения касаются как общих принципов работы над тестированием алгоритмов, так и специфичных свойств самого метода Хау-схолдера и его новых модификаций.

ТЕСТИРОВАНИЕ АЛГОРИТМОВ В АЛГОВИКИ2

В рамках описания алгоритмов в Алго-Вики представляется вполне естественным проведение тестирований и получение цифр быстродействия на разных архитектурах, с тем, чтобы рекомендации по алгоритму были основаны не только на теоретических

Результаты этого раздела получены в Московском государственном университете имени М. В. Ломоносова за счет гранта Российского научного фонда (проект №14-11-00190). Работа выполнена с использованием ресурсов суперкомпьютерного комплекса МГУ им. М. В. Ломоносова [5].

Рис. 1. Первый шаг метода Хаусхолдера

выкладках, но и на реальных измерениях. Именно этой работой в АлгоВики занят один из авторов3. Как правило, программы для наполнения этого раздела берутся из каких-либо известных источников (библиотек программ), обычно вместе с тестовыми данными. Пока что тестирование проводится на вычислительных системах, доступных коллективу авторов [5], но, благодаря открытости проекта АлгоВики, вполне возможно, что в будущем в этой энциклопедии свойств алгоритмов появятся и результаты тестирования на других вычислительных системах. При этом результаты будут предоставлять ценность не только для сравнения между собой разных алгоритмов применительно к одной и той же вычислительной системе, но и наоборот - для сравнения между собой вычислительных систем применительно к классам алгоритмов. Это соответствует и постепенному изменению общей направленности тестирования суперкомпьютеров в настоящее время. Как известно мировому суперкомпьютерному сообществу, замеры производительности суперкомпьютеров, проводившиеся обычно на стандартном тесте ЬШРАСК4 (в том числе и на его параллельной версии), с течением времени начали расширяться. Например [6], в качестве альтернативы тесту LINPACK, имеющему вполне определенную структуру графа и потому передач информации, а также относительно выгодное для замеров соотношение между арифметическими операциями и процессами обмена, предлагают использовать и другие тесты, например

ИРСО , в котором ситуация с соотношением между арифметикой и обменами будет скорее обратная наблюдающейся у теста КШРАСК. Такие замеры способны показывать вычислителям, являющимся потенциальными пользователями суперкомпьютеров, насколько эти суперкомпьютеры и их архитектура адекватно поддерживают вычислительные структуры алгоритмов нужного им типа. Однако анализ даже самых простых алгоритмов в АлгоВики показывает [1, 7, 8], насколько их структуры разнообразны. Поэтому даже наличие двух замеров по столь разным тестам, как КШРАСК и HPCG, не может дать достаточно точного представления прикладнику о том, какие из суперкомпьютеров лучше поддерживают именно те структуры вычислений, которые используются в применяемых им методах.

Аналогичные работы были проделаны и по отношению к методу Хаусхолдера для вычисления QR-разложения плотной матрицы.

ОСОБЕННОСТИ МЕТОДА ХАУСХОЛДЕРА

Напомним вкратце схему метода Хаус-холдера для приведения плотной матрицы односторонними унитарными преобразованиями к треугольному виду. На рис. 1 графически показан первый шаг. По первому столбцу подбирается матрица отражений такая, что после ее умножения слева на

1 А. М. Теплов

' Этот тест основан на методе Холецкого

Один из вариантов метода сопряженных градиентов для решения СЛАУ специального вида, получаемого при конечно-разностной формулировке эллиптического уравнения.

Рис. 2. 1-й шаг

матрицу первый столбец имеет поддиаго-нальные нулевые элементы.

На ¡-м шаге метода Хаусхолдера аналогичная операция проделывается над нижним правым квадратом матрицы, опирающимся на строки и столбцы с ¡-х по п-е. Это показано на рис. 2.

Одно преобразование отражения (с вычислением вектора, характеризующего матрицу отражения) использует квадратичное по (п-г) число операций, а все приведение плотной неособенной матрицы к треугольному виду - кубическое по п количество операций.

Ситуация, однако, меняется, если матрица будет иметь какой-то особенный вид. Дело в том, что в случае, если перед ¡-м шагом метода Хаусхолдера оказывается, что поддиагональные элементы ¡-го столбца и так нулевые, то преобразование отражения не выполняется. Если таких случаев мало, то количество выполняемых операций изменяется несущественно. Однако если таких столбцов оказывается большинство, то уменьшение количества операций необходимо учитывать при вычислении реального быстродействия используемой вычислительной системы. Известная из теории оценка количества операций - 4п3/3 - при наличии специальной структуры матрицы, ведущей к значительному числу пропусков отражений, должна быть заменена на реальное количество.

ПРОВЕРКА ТЕСТОВЫХ ДАННЫХ

Надо отметить еще один фактор, влияющий на надежность тестовых данных, если их применять для измерения быстро-

метода Хаусхолдера

действия. Тесты для проверки программ обычно предназначаются совсем для другого. Так, когда был взят один из тестов, прилагавшийся к библиотечному QR-разло-жению методом Хаусхолдера, оказалось, что исходные данные представляли собой малоранговую модификацию треугольной матрицы. Ясно, что такие тесты были предназначены для проверки того, насколько верно выполняется проверка поддиагональных частей столбцов и действительно ли в нужные моменты преобразование отражения пропускается. При «вычислениях быстродействия» на таких тестах, если ошибочно исходить из максимально возможного количества операций с плавающей запятой (4п3/3), получались бы фантастические цифры «быстродействия» вычислительной системы, составляющие сотни процентов от пиковой производительности.

Таким образом, при пользовании тестами исследователь, измеряющий быстродействие, не может взять тестовые данные вслепую и затем формально поделить максимальное количество операций на полученное время. Исследователь должен либо посмотреть документацию по тесту, либо, если она недоступна, проверить постфактум после запуска полученные при расчетах результаты. Так, в случае метода Хаусхолдера обычно в документации (по программе, а не по тестовым данным) указывается, в каком конечном виде хранятся данные о матрицах элементарных отражений. Поэтому после замера времени, необходимого на выполнение самого метода, следует дописать программу проверки соответствующих структур.

В случае же, если такая проверка тоже недоступна, рекомендуется для измерения производительности взять другие тестовые данные. Так было сделано при исследованиях программ, реализующих метод Хаусхол-дера для QR-разложения матриц. На странице АлгоВики, посвященной этому методу, измерения соответствуют тестам, где отражения выполняются на всех его шагах.

КРИТИЧЕСКИЙ ПУТЬ ГРАФА АЛГОРИТМА В МЕТОДЕ ХАУСХОЛДЕРА

В АлгоВики исследование параллельных свойств алгоритмов включает в себя и определение таких их параметров, как критический путь графа алгоритма и ширина наискорейшей ярусно-параллельной формы. Конечно, поскольку считать всерьез условия так называемой концепции неограниченного параллелизма [9] выполнимыми на реальных архитектурах нельзя, эти характеристики не полностью характеризуют возможности распараллеливания алгоритма. Тем не менее они остаются важнейшими в плане первичной оценки таких возможностей. Известно [2, 8, 10], например, что при распараллеливании простейшей прогонки возникают большие трудности. Поэтому интересными являются даже частично неустойчивые [11, 12, 13], но параллельные ее замены, и при этом исследования могут возвращаться и к, казалось, забытым методам [10, 14]. Более того, различные методы уменьшения критического пути графа, если помнить о целях проекта АлгоВики, необходимо должны в нем присутствовать - хотя бы как примеры.

При исследовании метода Хаусхолдера для QR-разложения плотных матриц перед

исследователем встали, помимо других, более простых, вопросы: во-первых, насколько критический путь его графа меньше или больше критического пути в других методах ОЯ-разложения и, во-вторых, нет ли способа, оставаясь в рамках использования преобразований Хаусхолдера, модифицировать метод с тем, чтобы уменьшить критический путь его графа.

Сразу сделаем оговорки. Во-первых, при сравнении с другими методами рассматривались только такие, которые применимы к проведению QR-разложения матрицы без дополнительных условий. Это сразу исключило из рассмотрения метод, который основывается на разложении матрицы А*А методом Холецкого в произведение Я* Я и дальнейшим вычислением Q = АЯ-1: он требует невырожденности матрицы А ([3], Теорема 27.2) и не годится для квадратной матрицы общего вида. Аналогично из рассмотрения исключены и классические варианты метода ортогонализации, поскольку при той же вырожденности матрицы А получения полного набора ортогональных столбцов в матрице Q в нем не достичь. После этого для проведения сравнений с методом Хаусхолдера остался только метод Ги-венса6: оба они работают и в условиях вы-рожденности7. Во-вторых, при проведении модификации рассматривались только "точечные" варианты метода Хаусхолдера, а

6 В отечественной литературе его называют также методом вращений

7 Естественно, в случае вырожденности матрицы А матрица Я будет содержать нули на диагонали, но искомое разложение А=<2К может быть найдено и методом Гивенса, и методом Хаусхолдера, причем в их классических вариантах.

■Щ ♦ ♦ г

Рис. 4. Параллельно исполняемые шаги метода Гивенса

блочные варианты обойдены стороной. Это связано как с общим подходом к описаниям в АлгоВики, где блочные методы рассматриваются отдельно, так и с тем, что их совместный анализ пока что был бы слишком самонадеянной, по мнению авторов, попыткой.

КЛАССИЧЕСКИЙ МЕТОД ХАУСХОЛДЕРА И МЕТОД ГИВЕНСА

Если посмотреть на описание метода Хаусхолдера в его классическом виде [3], то очевидно, что, как бы мы его ни видоизменяли, с помощью таких модификаций никак нельзя достичь того, чтобы критический путь графа стал меньше, чем линейная функция от размера матрицы. Дело в том, что для выполнения каждого следующего шага просто необходимо, чтобы уже были выполнены все предыдущие. Это хорошо видно на рис. 2, где необходимым условием для выполнения шага являются нули слева от текущего столбца. Уже это дает нижнюю оценку, пропорциональную количеству шагов.

Если же рассмотреть структуру каждого г-го шага, то видно, что для вычисления вектора отражения нужно предварительно найти евклидову норму вектора размерности п-г+1, а для выполнения преобразования - скалярные произведения вектора отражения с другими векторами такой же размерности. Если находить эти нормы и скалярные произведения классически последовательно, то на каждом шаге получается линейно зависимое от п-г+1 выражение для пути графа, и если просуммировать все шаги, то в результате квадратное выражение от п, что и записано на странице Ал-

гоВики. Используя приемы типа сдваивания, можно уменьшить критический путь графа каждого отражения до логарифмического, а критический путь графа всего алгоритма до 0(п \0g2ri).

Однако далее уменьшать критический путь графа, оставаясь в рамках классического метода Хаусхолдера, невозможно. Это невыгодно отличает его от другого метода ОЯ-разложения - метода Гивенса, называемого также методом вращений. Действительно, на рис. 3 и 4 показано, как можно привести матрицу к треугольному виду, выполняя независимые вращения параллельно друг другу, за линейное число параллельных шагов. Жирными точками на рисунках обозначены ведущие элементы, сплошными линиями - преобразуемые строки.

Интересно, что для метода Гивенса линейная оценка критического пути снизу тоже имеет место - по тем же причинам, что и в методе Хаусхолдера: пока слева от какого-либо поддиагонального элемента преобразуемой матрицы остаются другие ненулевые элементы, нельзя приступать к его собственному «обнулению». Однако у метода Гивенса эта теоретическая оценка критического пути графа снизу достижима на практике. В связи с этим возникает вопрос: а можно ли как-то преобразовать метод Хаус-холдера, не изменяя его сути, заключенной в выполнении преобразований отражения, так, чтобы и для критического пути его графа получилась линейная по размеру матрицы оценка?

Прежде чем модифицировать классическую схему коренным образом, рассмотрим способ сокращения критического пути у одного преобразования Хаусхолдера.

ВЫЧИСЛЕНИЯ СКАЛЯРНЫХ ПРОИЗВЕДЕНИЙ «СОКРАЩЕННЫМ ПОРЯДКОМ»

Вернемся к схеме одного шага метода Хаусхолдера, который представляет собой одно преобразование отражения. Сначала нам надо найти само преобразование, а потом уже выполнить его. Матрица отражений для подпространства размерности к (к=п--¡+1) находится в форме

и = Е- (1/у) уу*,

где параметры (скаляр у и вектор у) вычисляются из условия приведения вектора 5 (он здесь соответствует первому из столбцов не приведенного к треугольной форме остатка матрицы) к вектору, коллинеарному единичному орту е1. Согласно [3], если

(5,5) = 0,

то у='Д У=е1. Если же

(5,5) Ф 0,

то

у = 1 + МИФ, у = |^|/|Н|2 ± е1,

где знак в выражении берется тот же, что у 51 (а при нулевом значении любой, например плюс).

Если теперь вектор 2 (в качестве которого выступает при преобразовании любой другой столбец не приведенного к треугольному виду остатка матрицы) подвергнуть найденному преобразованию отражения и, то результат будет равен вектору

иг = 2 - ((г,у)/у) у = г - Ру (1)

и коэффициент при у равен в = (г,У)/у =

= ((2,5)/||5||2±21)/(1+|51|/||5||2) = = ((2,5)±||5||221)/(||5||2+|51|) (2)

а модифицирующая г добавка равна

Ру =((г,5)±||5||221)(|51|/||5||2 ± е^ ||5||2+|51|) =

=((2,5)±||5||221)(5±||5||2е1)/((5,5)+||5||2|51|) (3)

При этом для первой компоненты вектора получается

(иг)1 = 21 -

- ((2,5)±||5||221)(51±||5||2 Ж^ИЬШ), а для остальных

(иг) = 2 - ((2,5)±||5||221)5У((5,5)+||5||2|51|).

Таким образом, если вычислять скалярное произведение (2,5) параллельно вычислению (5,5), то само умножение матрицы отражений на вектор 2 уже не потребует таких дополнительных вычислений, у которых критический путь был бы зависящим от к. Поэтому даже без особой модификации метода Хаусхолдера этот прием дает почти двукратный выигрыш в длине критического пути его графа, используется при этом прием сдваивания или нет. Однако на этом останавливаться рано. Сократить критический путь можно гораздо сильнее, используя простейшие свойства унитарных матриц.

МОДИФИКАЦИЯ МЕТОДА

ХАУСХОЛДЕРА С ИСПОЛЬЗОВАНИЕМ СВОЙСТВ МАТРИЦЫ ГРАМА

В предыдущей части из формул (1), (3) видно, что преобразование отражения (Хау-схолдера) одного шага метода потребует (в параллельном режиме) конечное число арифметических операций, если скалярные произведения, фигурирующие в (3), будут как-то предвычислены. На рис. 5 слева на промежуточной матрице показан набор тех векторов, скалярные произведения которых нужно вычислить перед выполнением преобразования. При этом внизу, начиная с выделенных точками элементов - те части столбцов, которые изменяются в ходе преобразования и которые должны быть учтены при вычислении скалярных произведений, а вверху, обозначенные жирными линиями, - те части столбцов, которые в данном преобразовании меняться не будут и в скалярных произведениях могут в классической схеме метода Хаусхолдера не учитываться.

Однако учет верхних частей столбцов может помочь для предвычисления скалярных произведений, нужных для определения коэффициентов в формулах (2), (3). Если считать, что влияние ошибок округления на унитарность матриц отражения в процессе приведения исходной матрицы к треугольному виду пренебрежимо мало, то скалярные произведения полных столбцов должны сохраняться:

(их,иу) = (х,и*иу) = (х,у).

При этом для двух любых столбцов 2 и

т

2 нужное для вычисления параметров отражения скалярное произведение их «низа» (2, гт)н может быть вычислено из полного скалярного произведения столбцов (гк, 2т) и скалярного произведения «верха» столбцов (2к, 2т)в с помощью простого вычитания:

к т к т к т

(2 , 2 )н = (2 , 2 ) - (2 , 2 )в.

Еще одно важное наблюдение: первые элементы «верха» столбцов фиксируются сразу после первого преобразования отражения, вторые после второго и т.д. последовательно.

Исходя из этих наблюдений, можно предложить такую схему QR-разложения, опирающуюся на преобразования отражения, в котором будет достигнута линейная оценка критического пути графа алгоритма. Эта схема предполагает, что в начале процесса должна быть вычислена матрица Гра-ма с элементами gkm = (2к, 2т)

Теперь на г-м шаге метода во всех формулах из предыдущего раздела вместо (5,5) используются элементы gii, а вместо каждого из (2,5) - элементы gji. После выполнения шага элементы матрицы Грама gkj (¡>г, j<k) перевычисляются вычитанием из их предыдущего значения произведения к-го и j-го элементов 1-й строки. После этого перевычисления процесс готов к следующему шагу.

Вне зависимости о того, будут ли первичные вычисления матрицы Грама использовать сдваивание или нет, главный член в формулах критического пути графа алгоритма в такой схеме получается линейный. Цена этой линейности в терминах ресурсов составляет дополнительные 2п /3 операций и п(п+1)/2 дополнительной памяти (а с учетом того, что надо все выполнять в режиме накопления, то вдвое больше). Но главная цена линейности новой схемы, скорее всего , состоит в ее худших параметрах устойчивости в сравнении с классической. Впрочем, и классический метод Хаусхолдера способен дать такую же хорошую устойчивость, как метод Гивенса, только если при вычислениях применяется режим накопления.

Можно, однако, не использовать допущение унитарности преобразований, дающее сохранение скалярных произведений. Это дает еще одну схему с линейным критическим путем графа алгоритма, правда, совсем уж непрактичную из-за гигантского суммарного объема вычислений.

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

160

информатика, вычислительная техника и управление

МОДИФИКАЦИЯ МЕТОДА ХАУСХОЛДЕРА С ИСПОЛЬЗОВАНИЕМ МАТРИЦ ГРАМА В ПОДПРОСТРАНСТВАХ

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Пусть у нас известны скалярные произведения трех векторов а, Ь, с: (а,Ь), (а,а), (Ъ,Ъ), (а,с), (Ь,с), (с,с). Пусть также вектора а и Ь преобразуются по формулам

а' = а - ас, Ь' = Ь - тс.

Тогда скалярные произведения преобразованных векторов вычисляются через скалярные произведения «старых» по форму-лам9

(а',аг) = (а,а) + а (с,с) - 2а(а,с), (4)

(Ь',ЬГ) = (Ь,Ь) + т2(с,с) - 2т(Ь,с), (5)

(а',Ьг) = (а, Ь) + ат(с, с) - а(Ь, с) - т(а, с), (6)

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

Этот способ сводится к тому, что на каждом шаге выполняются вычисления и перевычисления матриц Грама в подпространствах. Каждая из матриц Грама в 1-м подпространстве О1 хранит скалярные произведения векторов, составленных из компонент столбцов с 1-й по п-ю. На старте схемы вычисляются все такие матрицы Грама. Затем на каждом 1-м шаге для вычисления параметров отражения в стиле предыдущего раздела используются элементы матрицы О1, а элементы матриц Гра-ма

Ок (к>г) перевычисляются по формулам (4)-(6). Нетрудно видеть, что эта схема также выполнима за линейное время, но при этом для ее выполнения требуется выполнить 0(п4) арифметических операций, и хранить при этом нужно 0(п3) данных. Указанные особенности делают возможность применения схемы на практике столь умо-

9 Формулы (4)-(6) приведены для вещественных векторов. В комплексном случае их также легко записать, учитывая соответствующие свойства скалярных произведений.

зрительной, что проведение анализа ошибок округления в ней вряд ли имеет смысл. Однако можно заметить: применение многошаговых формул (4)-(6) столь схоже с процессами ортогонализации, что процесс перевычислений матриц Грама вряд ли будет устойчивым.

Если вернуться к вопросу о том, насколько значимо нахождение последних двух схем, использующих разными способами матрицу Грама, то авторы находят возможным рассмотреть две стороны этого вопроса. Во-первых, тот же метод Стоуна [2, 13, 15] стал хрестоматийным для тех, кто начинает изучение параллельных алгоритмов: несмотря на свою неустойчивость, он в условиях точных вычислений дает лучшие показатели по длине критического пути. Во-вторых, и это отмечено и здесь, и на странице АлгоВики, метод Хаусхолдера по многим параметрам уступает методу Гивенса, но, благодаря большей опоре на базовые функции типа скалярного произведения, преобладает в библиотеках программ, в том числе для суперкомпьютеров. Поэтому на эту тему, во всяком случае до изучения влияния ошибок округления, пока можно только привести стандартную фразу, что все рассудит время.

ЗАКЛЮЧЕНИЕ

Выделим основные результаты, полученные авторами при исследовании метода Хаусхолдера для выполнения QR-разло-жения.

Выделены потенциальные источники ошибок при тестировании быстродействия программ на различных вычислительных системах. Даны рекомендации, как их избежать.

Для метода Хаусхолдера предложены схемы, теоретически сокращающие критический путь графа алгоритма, в том числе две новые схемы с линейной сложностью. Для условий точных вычислений схемы дают то же разложение, что и классический метод Хаусхолдера.

Следует подчеркнуть, что новые схемы в очередной раз получены при исследовании свойств классических методов для размещения в энциклопедии АлгоВики. Специа-

листы в каких-либо методах, уделившие внимание рассказу об их структурах в рамках этой электронной энциклопедии, вполне могут в рамках выполнения задачи описания посмотреть на эти алгоритмы по-новому, что, не исключено, тоже даст им какие-то новые исследовательские идеи.

Статья рекомендована к публикации программным комитетом международной научной конференции «Суперкомпьютерные дни в России 2017».

СПИСОК ЛИТЕРАТУРЫ

1. Антонов А. С., Воеводин Вад. В., Воеводин Вл. В., Теплов А. М., Фролов А. В. Первая версия Открытой энциклопедии свойств алгоритмов // Вестник УГАТУ. 2015. Серия управление, вычислительная техника и информатика. Т. 19, № 2 (68). С. 150-159 [ A. S. Antonov, Vad. V. Voevo-din, Vl. V. Voevodin, A. M. Teplov, A. V. Frolov, "First Version of Algorithms' Properties' Open Encyclopedia", (in Russian), in Vestnik UGATU. Series: Control, Compruting Technique & Informatics, vol. 19, no. 2 (68), pp. 150-159, 2015. ]

2. Открытая энциклопедия свойств алгоритмов [Электронный ресурс]. URL: http://algowiki-project.org (дата обращения 15.09.2017). [ Open Encyclopedia of Algorithms' Properties, (2017, Sep. 15) [Online]. Available: http://algowiki-project.org ]

3. Воеводин В. В. Вычислительные основы линейной алгебры. М.: Наука, 1977. 304 с. [ V. V. Voevodin, Computational base of linear algebra, (In Russian). M.: Nauka, 1977. ]

4. Воеводин В. В., Кузнецов Ю. А. Матрицы и вычисления. М.: Наука, 1984. 320 с. [ V. V. Voevodin, Yu. A. Kuz-netzov, Matrices and Computations, (In Russian). M.: Nauka, 1984. ]

5. Практика суперкомпьютера «Ломоносов». Воеводин Вл. [и др.] // Открытые системы. 2012. № 7, С. 36-39. [ Vl. Voevodin, et al., "«Lomonosov» Supercomputer Practice", (In Russian), in Otkrytye Sistemy, No.7, pp. 36-39, 2012. ]

6. Jack Dongarra, et al., "HPC Programming on Intel Many-Integrated-Core Hardware with MAGMA Port to Xeon Phi", in Scientific Programming, Art. No.: 502593.

7. Фролов А. В., Воеводин Вад. В., Коньшин И. Н., Теплов А. М. Исследование структурных свойств алгоритма разложения Холецкого: от давно известных фактов до новых выводов // Параллельные вычислительные технологии (ПаВТ'2015): тр. конф. (Екатеринбург, 31 мар. - 2 апр. 2015). Челябинск: Изд. ц. ЮУрГУ, 2015. С. 320-331. [ A. V. Frolov, Vad. V. Voevodin, I. N. Kon'shin, A. M. Teplov. "Cholesky Algorithm Structure Properties' Investigation: from Old Facts to New Conclusions", (In Russian) in Proc. Parallel Computational Technologies (PCT'2015), pp. 320-331, 2015. ]

8. Фролов А. В., Антонов А. С., Воеводин Вл. В., Теплов А. М. Сопоставление разных методов решения одной задачи по методике проекта Algowiki // Параллельные вычислительные технологии (ПаВТ'2016): тр. конф. (Архангельск, 28 мар. - 1 апр. 2016). Челябинск: Изд. ц. ЮУрГУ, 2016. С. 347-360. [ A. V. Frolov, A. S. Antonov, Vl. V. Voevodin, A. M. Teplov. "One problem solving different methods' comparison according to the criteria of the Algowiki

project", (In Russian) in Proc. Parallel Computational Technologies (PCT'2016), pp. 347-360, 2016. ]

9. Воеводин В. В. Математические основы параллельных вычислений. М.: МГУ, 1991. 345 с. [ V. V. Voevodin, Parallel Computatation mathematical bases, (In Russian). M.: MGU, 1991. ]

10. Ильин В.П., Кузнецов Ю.И. Трехдиагональные матрицы и их приложения. М.: Наука, 1985. 208 с. [ V. P. Il'in, Yu. I. Kuznetsov, Tridiagonal Matrices & Applications, (in Russian), M.: Nauka, 1985. ]

11. Фролов А. В. Еще один метод распараллеливания прогонки с использованием ассоциативности операций // Суперкомпьютерные дни в России: тр. конф. (Москва, 2829 сент. 2015). М.: МГУ, 2015. С. 151-162 [ A. V. Frolov, "Yet another Tomas Algorithm Parallelizing Method with Operations Associativity Using", (In Russian), in Proc. Russian Supercomputer Days (RuSCD 2015), M.: MSU, pp. 151-162, 2015. ]

12. Фролов А. В. Использование последовательно-параллельного метода для распараллеливания алгоритмов с ассоциативными операциями // Суперкомпьютерные дни в России: тр. конф. (Москва, 28-29 сент. 2015). М.: МГУ, 2015. C. 176-184 [ A. V. Frolov, "Sequential-Parallel Method's Using for Algorithms Containing Associative Operations Parallelizing", (In Russian), in Proc. Russian Supercomputer Days (RuSCD 2015), M.:, MSU, pp. 176-184, 2015. ]

13. Stone H. S. [ H. S. Stone, "Parallel Tridiagonal Equation Solvers", 1975, vol. 1, No. 4, pp. 289-307 // in ACM Trans. on Math. Software. 1975, V. 1, No. 4, P. 289-307. ]

14. Фролов А. В. Нециклическая редукция - незаслуженно забытый метод? // Параллельные вычислительные технологии (ПаВТ'2016): тр. конф. (Архангельск, 28 мар. -1 апр. 2016). Челябинск: Изд. ц. ЮУрГУ, 2016. С. 800. [ A. V. Frolov. "Noncyclic reduction is undeservedly forgotten method?", (In Russian), in Proc. Parallel Computational Technologies (PCT'2016), p. 800, 2016. ]

15. Фаддеев Д. К., Фаддева В. Н. Параллельные вычисления в линейной алгебре 1, 2. // Кибернетика, 1977. № 6. С. 28-40; 1982. № 3. С. 18-31. [ D. K. Faddeev, V. N. Faddeva, "Concurrent computing in Linear Algebra", (in Russian), in Cybernetics, 1977, No. 6, pp. 28-40; 1982, No. 3, pp. 18-31. ]

ОБ АВТОРАХ

ФРОЛОВ Алексей Вячеславович, ст. науч. сотр. ИВМ РАН. Дипл. инж-р-физ., автоматика и электроника (МФТИ, 1987). Канд. физ.-мат. наук по выч. мат. и мат. и прогр. обес. выч. машин, компл., сист. и сетей (ИВМ РАН, 1990). Доц. по каф. теории вероятностей и мат. статистики (РУДН, 1997).

ТЕПЛОВ Алексей Михайлович, мл. науч. сотр. лаб. параллельных инф. технол. НИВЦ МГУ им. М. В. Ломоносова. Дипл. прикл. мат-к, сист. программист, прикл. мат. и информатика (МГУ им. М. В. Ломоносова, 2011).

METADATA

Title: AlgoWiki: some aspects of algorithm properties investigations with Householder QR-decomposition studying as an example.

Authors: A. V. Frolov1, A. M. Teplov2

Affiliation:

1 Institute of Numerical Mathematics of Russ. Acad. Sci. (INM RAS), Moscow, Russia.

2 Research Computing Center of Moscow State University (RCC MSU), Moscow, Russia.

Email: 1 [email protected], [email protected]

Language: Russian.

Source: Vestnik UGATU (scientific journal of Ufa State Aviation Technical University), vol. 21, no. 4 (78), pp. 153-162, 2017. ISSN 2225-2789 (Online), ISSN 1992-6502 (Print).

Abstract: Some aspects of algorithm properties investigations in AlgoWiki are concerned in the article. Householder QR-decomposition studying is an example. Efficiency calculations peculiarities are discussed. This article presents two new modifications of Householder QR decomposition with linear critical path. They are using Gram matrices for dot products predication.

Key words: algorithm properties investigations; AlgoWiki; QR decomposition; Householder method; critical path of graph.

About authors:

FROLOV, Alexey Vyacheslavovich, Senior Researcher, INM RAS. Dipl. Engineer-Physicist, Automation and Electronics (MIPT, 1987). Cand. of Phys.&Math. Sci. (INM RAS, 1990).

TEPLOV, Alexey Mikhailovich, Jr. Researcher LPIT RCC MSU. Dipl. Specialist in Mathematics and System Pro-gramming, Applied Mathematics and Computer Science (Moscow State Univ., 1995).

i Надоели баннеры? Вы всегда можете отключить рекламу.