УДК 519.614.2:537:311:32 Р.С. Суровцев, В.К. Салов
Использование блочного LU-разложения для ускорения вычислений матрицы ёмкостей в диапазоне изменения диэлектрической проницаемости диэлектрика: состояние дел, новые результаты и перспективы исследований
Представлены результаты применения блочного LU-разложения для многократного вычисления матрицы ёмкостей произвольной структуры проводников и диэлектриков в диапазоне изменения диэлектрической проницаемости диэлектриков. Выявлена тенденция увеличения ускорения при учете потерь в диэлектриках. Рассмотрены перспективы дальнейших исследований.
Ключевые слова: блочное LU-разложение, матрица ёмкостей, метод моментов, система TALGAT.
Решение сложных задач электромагнитной совместимости (ЭМС), как правило, сводится к решению систем линейных алгебраических уравнений (СЛАУ). Примером является вычисление методом моментов матрицы ёмкостей произвольных структур проводников и диэлектриков, реализованное в системе TALGAT [1]. Вычисление сводится к уравнению вида Sa = v, с плотной матрицей S размером N*N, связывающей плотности заряда элементов дискретизации на проводниковых и диэлектрических границах, составляющих вектор a, с потенциалами этих элементов, составляющих вектор v. На практике, часто требуется вычисление матрицы ёмкостей в диапазоне изменения диэлектрической проницаемости (ег) диэлектриков. Например, при моделировании в диапазоне частот необходимо проводить многократные вычисления, поскольку для каждой частоты из-за изменения ег матрица S заполняется заново. При этом вычисление матрицы ёмкостей сводится к решению СЛАУ с Nqond (по количеству проводников в системе) векторами свободных членов. Примечательно, что при изменении er диэлектрика меняется только часть элементов на главной диагонали нижней правого блока матрицы S (с индексами элементов матрицы СЛАУ больше NC - количество проводниковых подынтервалов в структуре), соответствующих подынтервалам диэлектрик-диэлектрик. Эта особенность - ресурс, который можно использовать для уменьшения общего времени многократных вычислений. Подходящим для этого является совместное использование блочного LU-разложения с блочным решением СЛАУ. Раньше в TALGAT для решения СЛАУ использовались такие прямые методы, как метод Гаусса и LU-разложение, при этом никак не учитывалось неполное изменение матрицы СЛАУ. Между тем недавно выполнен ряд исследований, требующих обобщения, и получены новые результаты, отражающие специфику учета потерь в диэлектриках.
Цель данной работы - представить текущее состояние исследований блочного LU-разложения для вычисления матрицы ёмкостей в системе TALGAT, провести сравнение времени и ускорения вычисления матрицы ёмкостей с учетом и без учета потерь в диэлектриках, а также описать перспективы исследований. Для этого представляется необходимым: кратко описать особенности реализации блочного LU-разложения (для пояснения предмета исследований); представить результаты его исследований на примере различных структур; сравнить его работу при вычислении матрицы ёмкостей с учетом и без учета потерь в диэлектриках; описать перспективы его исследования.
Особенности реализации блочного LU-разложения в системе TALGAT. Для наглядного представления реализации блочного LU-разложения рассмотрим алгоритм вычисления матрицы ёмкостей [2]. Представим матрицу S, соответствующую некоторому значению sr диэлектриков, в
Га б'
блочном виде S=
C D
, где A - блок размером NCxNC, Б - блок размером NCx(N-NC), C - блок
размером (ТУ-Лс)хЛс, Б - блок размером (#-Лс)х(#-Ле). Очевидно, что изменение блока Б приведет к изменению ЬИ-разложения матрицы 8 и, соответственно, вектора решения (матрицы о). Алгоритм с учетом изменения только элементов блока Б можно представить следующим образом.
1. Для к от 1 до М
2. Если к=1
3. Вычислить элементы матрицы S1
4. Иначе
5. Sk=Sl
6. Вычислить диагональные элементы блока Dk
7. Выполнить ЬИ-разложение матрицы Sk
8. Вычислить элементы матрицы воздействия v
9. Найти матрицу решения о из уравнения 8к-ск=у
10. Вычислить элементы ёмкостной матрицы C
11. Увеличить к
Далее представим матрицу S в виде произведения двух треугольных матриц L и ^ т.е. S=LU,
где L=
а I - единичная матрица. После преобразований получим после-
I 0 U= U11 U12
LL21 iJ , U L о U22.
довательность действий (1), из которой видно, что для реализации разложения требуется дважды найти А-1. Поэтому для сокращения вычислительных затрат, алгоритм можно преобразовать в (2).
Un = A; L21 = C; U12 = A-1B; U22 = D - L21U12 = D - CA-1B. (1)
Un = A-1; L21 = C; U12 = U„B; U22 = D - L21U12 = D - CU„B. (2)
Из (2) видно, что при изменении блока D в разложении меняется только U22. Таким образом, при изменении er, используя данное представление матрицы, необходимо пересчитывать только элементы матрицы U22. Исходя из этого, можно полагать, что алгоритм состоит из двух шагов: первого решения и М - 1 последующих решений. Первое решение является вычислительно затратным, так как требует обращения блока А и далее операций матричного вычитания и умножения для вычисления U22, а в М - 1 последующих решениях для вычисления того же блока производится только одна операция вычитания. Вследствие этого и достигается ускорение при многократных вычислениях.
Достигнутые результаты. Исследование ускорения вычисления матрицы ёмкостей началось с изучения существующих алгоритмов блочного LU-разложения. Рассмотрено 2 алгоритма [3]. В результате анализа выбрана блочная gaxpy-версия LU-разложения (операция gaxpy - это вычисление вида z=y+Ax, x є Rn, ує Rm, A є Rmxn [4]). Выполнена программная реализация выбранного алгоритма и проведены первые вычислительные эксперименты. В них изменялось количество вычислений и измерялось время: М-кратного LU-разложения; однократного LU-разложения с последующим нахождением Ncond векторов решения; М-кратного LU-разложения с последующим нахождением Ncond векторов решения для каждого [5]. В результате получено ускорение 35 раз. Следующим этапом стала интеграция реализованного алгоритма, с последующим его усовершенствованием [2], в систему TALGAT с использованием высокопроизводительной математической библиотеки Eigen [6]. Все дальнейшие исследования проведены в системе TALGAT. Выполнено моделирование соединителя, содержащего 41 проводник, не считая опорного (рис. 1, а); каждый проводник заключен в диэлектрическую оболочку [2]. Целью моделирования являлась оценка временных затрат на нахождение 10 ёмкостных матриц при изменении сегментации границ проводников и диэлектриков для 2 алгоритмов (исходного и усовершенствованного). Получен выигрыш до 2,7 раза при использовании усовершенствованного алгоритма. Однако эта структура довольно специфична и не демонстрирует всех достоинств алгоритма.
а б
Рис. 1 Поперечное сечение исследуемых структур в TALGAT: а - соединитель; б - 2 проводника над идеально проводящей плоскостью
Исследованы зависимости времени вычисления матрицы ёмкостей от NC/N для структуры, приведенной на рис. 1, б [7]. Выполнены однократные и многократные вычисления для большого числа (до 215) матриц СЛАУ В результате установлено, что для ускорения многократных вычислений целесообразно максимально увеличивать отношение NC/N. Для матрицы N = 1650 при максимальном из рассматриваемых NC/N = 0,9 ускорение составило 11 раз. Также выявлено, что ускорение сущест-
венно зависит от М только при М < 500, а при М > 500 - почти не зависит ускорения от числа вычислений. На той же структуре проведены исследования зависимости ускорения однократных и многократных вычислений от N при Ле/Л = 0,53 и получено максимальное ускорение 3,7 раза [10].
Ускорение вычисления матрицы ёмкостей с учетом и без учета потерь в диэлектрике. При расчете временного отклика сигнала необходим учет потерь в диэлектриках, а именно, учет тангенса угла диэлектрических потерь. В этом случае матрица S - комплексная, из нее вычисляются матрицы ёмкостей и проводимостей.
Исследования ускорения без учета потерь в диэлектриках на примере структуры из рис. 2, б подробно описаны в [8]. Целесообразно провести моделирование этой же структуры с учетом потерь и сравнение полученных результатов с результатами из [8]. В таблице приведены время и ускорение многократного вычисления (М = 2”, где п = 7, 8, 9, 10) матрицы ёмкостей исходным и усовершенствованным алгоритмами с учетом и без учета потерь для N = 1125, 2250, 4500 при Ле/Л = 0,53.
Время и ускорение многократного вычисления матрицы ёмкостей исходным (7’ц) и усовершенствованным (ТУ) алгоритмами______
M=2n N Без учета потерь С учетом потерь
с , Ту, с Ти/Ту Ти с Ту, с Ти/Ту
128=27 1125 40,2 13,9 2,9 90,0 32,6 2,76
2250 182,2 57,4 3,2 469,6 138,0 3,42
4500 887,0 248,2 3,6 2560,0 674,4 3,79
256=28 1125 81,1 27,4 2,95 182,3 65,1 2,80
2250 366,1 113,8 3,2 940,6 285,5 3,29
4500 1777,2 489,1 3,6 5123,22 1320,4 3,88
512=29 1125 162,6 54,9 2,96 365,2 130,1 2,80
2250 732,3 225,8 3,25 1881,5 566,6 3,32
4500 3552,2 970,6 3,65 10246,1 2603,9 3,93
1024=210 1125 325,3 109,2 2,98 729,3 259,5 2,81
2250 1465,1 451,8 3,25 3762,6 1127,3 3,34
4500 7101,5 1935,6 3,7 20495,0 5177,5 3,95
Из таблицы видно, что время вычисления усовершенствованным алгоритмом меньше, чем исходным, для случаев с учетом и без учета потерь в диэлектриках. Ускорение вычисления матрицы ёмкостей без учета потерь возрастает от 2,9 до 3,7 раза, а с учетом потерь - от 2,76 до 3,95 при росте N и М. При малых N ускорение вычислений без учета потерь больше ускорения вычислений с учетом потерь, для больших N - наоборот. Таким образом, выявлена тенденция увеличения ускорения с ростом Ми N при учете потерь. Ускорение многократных вычислений объясняется работой усовершенствованного алгоритма: ему для вычисления матриц ёмкостей требуется не М одинаково затратных повторных решений, как исходному алгоритму, а только первое затратное вычисление и М — 1 повторных малозатратных вычислений только с частью (блоком) исходной матрицы.
Перспективы исследований. Практика требует исследований ускорения многократных вычислений для реальных двумерных и трехмерных структур (печатная плата, гибкий печатный кабель, жгут, соединитель), в том числе содержащих различное количество проводников (один, два и более) и диэлектриков (только подложка; подложка и препрег; подложка, препрег и влагозащитное покрытие). Очевидно, что существуют очень простые возможности ускорения за счёт корректного расположения диэлектрических границ и выбора их сегментации. Есть реальные структуры, для которых ускорение будет достигать десятков раз. Примером являются структуры с большим числом проводников и малым числом диэлектриков и их границ, которые можно разбивать на меньшее число подынтервалов. Кроме того, даже при большом числе диэлектриков, если меняется диэлектрическая проницаемость одного, то его границы можно нумеровать последними: это легко осуществимо и может дать значительное ускорение.
Актуально применение усовершенствованного алгоритма для ускорения вычисления временного отклика сигнала с учётом частотной зависимости потерь в диэлектриках. При этом, кроме многократного вычисления матрицы ёмкостей, вычисляется сам временной отклик в частотной области. Для этого важно выполнение количественных оценок общего ускорения.
Также необходима реализация описанного алгоритма с помощью другой высокопроизводительной библиотеки линейной алгебры, например ATLAS, и проведение сравнительных экспериментов оценки производительности с уже реализованными версиями алгоритма с помощью библиотеки Eigen.
Актуален вывод формулы зависимости ускорения вычислений от различных параметров структуры и матрицы СЛАУ, таких как М, NC, N и NCOND. Как следствие, будет возможна аналитическая оценка ускорения многократных вычислений, не требующая больших временных затрат на проведение вычислительных экспериментов.
Заключительным этапом исследований является разработка ряда рекомендаций по ускорению вычислений ёмкостной матрицы в диапазоне параметров.
Авторы благодарят С.П. Куксенко и Т.Р. Газизова за помощь в работе.
Работа выполнена в порядке реализации Постановления № 218 Правительства РФ от 09.04.2010 г. по договору № 13.G25.31.0017 от 07.09.2010 между ОАО «ИСС» им. акад. М.Ф. Решетнева» и Минобрнауки РФ.
Литература
1. Свидетельство о государственной регистрации программы для ЭВМ №2012610712. TALGAT 2010. Авторы: Газизов Т.Р., Мелкозеров А.О., Газизов Т.Т. и др. Заявка №2011617178. Дата поступления 26 сентября 2011 г. Зарегистрировано в Реестре программ для ЭВМ 13 января 2012 г.
2. Куксенко С.П. Совершенствование алгоритма вычисления методом моментов ёмкостных матриц системы проводников и диэлектриков в диапазоне значений диэлектрической проницаемости диэлектриков / С.П. Куксенко, Т.Р. Газизов // Электромагнитные волны и электронные системы -2012. - № 10. - С. 13-21.
3. Суровцев РС. Обзор методов блочного LU-разложения // Научная сессия ТУСУР-2011. -Томск: В-Спектр, 2011. - С. 141-143.
4. Highman N.J. Accuracy and Stability of Numerical Algorithms / N.J. Highman. - Philadelphia: SIAM, 1961. - 680 p.
5. Суровцев РС. Ускорение многократного решения СЛАУ с частично изменяющейся матрицей / РС. Суровцев, С.П. Куксенко, Т.Р Газизов // Доклады Том. гос. ун-та систем управления и радиоэлектроники. - 2011. - №2 (24), ч. 1. - С. 141-144.
6. Eigen, библиотека линейной алгебры [Электронный ресурс]. - Режим доступа: http://eigen.tuxfamily.org, свободный (дата обращения: 5.09.2012).
7. Суровцев РС. Исследование ускорения многократного решения СЛАУ с частично изменяющейся матрицей блочным методом / РС. Суровцев, В.К. Салов // Электромагнитные волны и электронные системы. - 2012. - № 10. - С. 22-26.
8. Суровцев РС. Вычисление матрицы ёмкостей произвольной системы проводников и диэлектриков методом моментов: зависимость ускорения за счет блочного LU-разложения от порядка матрицы СЛАУ / РС. Суровцев, С.П. Куксенко // Изв. вузов. Физика. - 2012. - Т. 55, № 9/2. - С. 126-130.
Суровцев Роман Сергеевич
Студент, каф. телевидения и управления ТУСУРа
Тел.: 8 (382-2) 41-34-39
Эл. почта: [email protected]
Салов Василий Константинович
Аспирант, каф. телевидения и управления
Тел.: 8 (382-2) 41-34-39
Эл. почта: [email protected]
Surovtsev R.S., Salov VK.
Use of the block LU factorization to speed up a computation of capacitance matrix in the range of dielectric permittivity: state of the art, new results and prospects of investigation
The investigation results of the LU factorization implementation for a multiple computation of a capacitance matrix of an arbitrary system of conductors and dielectrics in the range of dielectric permittivity are presented. The trend of the speed up increase with the accounting for the dielectric losses is revealed. Prospects for further investigation are suggested.
Keywords: block LU factorization, capacitance matrix, method of moment, TALGAT system.