УДК 519.684.6:004.42
В.К. Салов, К.Э. Джанбаев, С.П. Куксенко
Использование графического ускорителя для вычисления элементов матрицы системы линейных алгебраических уравнений в системе TALGAT
Разработан алгоритм для вычисления элементов матрицы системы линейных алгебраических уравнений при решении двумерных задач электростатики методом моментов в системе TALGAT с использованием графического ускорителя. Выполнено тестирование и сравнение времени работы алгоритма на центральном и графическом процессорах. Показано уменьшение времени вычислений до 18,9 раза.
Ключевые слова: электростатика, метод моментов, система линейных алгебраических уравнений, графический ускоритель.
При моделировании ряда задач электромагнитной совместимости необходимо решение двумерных задач электростатики. Примером является вычисление матриц погонных параметров многопроводных линий передачи. Один из методов, используемый для этого, - метод моментов, в котором вычисление параметров линии сводится к следующим шагам [1]:
1. Получение из уравнений Максвелла интегральных уравнений структуры.
2. Дискретизация структуры (разбиение структуры на N подобластей).
3. Вычисление элементов матрицы системы линейных алгебраических уравнений (СЛАУ) порядка N. Порядок вычисляемой матрицы СЛАУ зависит от количества подобластей на границах проводник-диэлектрик и диэлектрик-диэлектрик, а элементы матрицы вычисляются из параметров этих подобластей.
4. Вычисление элементов вектора воздействий v размером N.
5. Решение СЛАУ So = v, где о - вектор плотности зарядов.
6. Вычисление требуемых характеристик из вектора о.
Основные затраты при этом связаны с вычислением элементов матрицы СЛАУ и решением СЛАУ. Вычислительные затраты значительно возрастают при многократных вычислениях, например при вычислении отклика в линии, свойства диэлектриков которой имеют частотную зависимость [2]. Поэтому актуальна реализация версии алгоритма, время работы которого уменьшено за счёт параллельных вычислений. Обзор работ показывает широкое использование для этого технологии CUDA компании NVIDIA [3], предназначенной для поддержки вычислений общего назначения на графическом процессоре. Графический процессор представляет собой устройство, содержащее значительное количество однородных исполнительных модулей, в которых одна и та же операция применяется одновременно к множеству независимых данных.
Так, в работе [4] приведено теоретическое описание архитектуры процессора специального назначения для выполнения команд, снижающих время вычисления в вычислительной электродинамике на порядки. В работе [5] для анализа взаимных помех антенн на больших и сложных платформах применяется решение, основанное на поверхностном методе моментов, использующее быстрый метод мультиполей в сочетании с быстрым преобразованием Фурье. Код ускорен за счет параллели-зации и векторизации вычислительно-затратных участков программного кода, что позволяет использовать преимущества многоядерных центральных и графических процессоров. Полученные данные проверены с помощью измерений. В работе [6] описаны массово-параллельные вычисления электрических двухполупериодных волн во временной области, которые могут быть использованы в схемах и симуляторах электромагнитного поля. Рассматривается несколько способов ускорения этих методов численного моделирования, которые основаны на параллельных вычислительных платформах, таких как кластеры и графические процессоры. В работе [7] приведены результаты сравнения производительности различных графических процессоров CUDA при ускорении алгоритмов, основанных на методе моментов для электродинамического моделирования в частотной области. Использовались три различные графические видеоплаты GeForce: GTX 480, GTX 580 и GTX 680. Про-
В.К. Салов, К. Э. Джанбаев, С.П. Куксенко. Использование графического ускорителя для вычисления 135
изводительность измерялась на трёх задачах электродинамического моделирования: идеально проводящая сфера; линза Люнеберга; микрополосковая антенная решётка, размещённая на корпусе вертолета. Показано, что наиболее важным параметром для достижения лучшей производительности является пропускная способность памяти графического ускорителя. В работе [8] представлена реализация метода моментов для решения задач рассеяния и излучения электромагнитных волн, ускоренная за счёт использования графического ускорителя с поддержкой CUDA. Решение основано на интегральном уравнении электрического поля в частотной области для произвольных конфигураций проводящих тел и проводов. Приведены численные результаты и полученные ускорения по сравнению с реализацией на CPU для тестируемой структуры. В работе [9] отмечается, что разработки распараллеленных, работающих со внешней памятью, матричных вычислителей позволили резко сократить время решения СЛАУ, так что затраты на заполнение матрицы в задачах, решаемых методом моментов применительно к поверхносто-интегральным уравнениям, становятся основными. Поэтому в работе предложен эффективный алгоритм для ускоренного расчёта элементов матрицы с помощью графического процессора. Численные эксперименты показали ускорение от 1,5 до 21 раза в зависимости от порядка разложений и точности интегрирования.
Цель данной работы - разработать алгоритм для параллельных вычислений элементов СЛАУ при решении задач электростатики методом моментов на графическом процессоре в системе TALGAT.
Согласно [1] каждый элемент матрицы СЛАУ может быть вычислен независимо от остальных элементов. Таким образом, для вычисления на графическом ускорителе необходимо:
1. Дискретизировать геометрическую модель структуры.
2. Копировать параметры подобластей из памяти хоста в память графического ускорителя.
3. Вычислить значения элементов матрицы СЛАУ sij- (i = 1, ..., N; j = 1, ..., N), каждое в отдельном потоке CUDA.
4. Копировать элементы матрицы СЛАУ из памяти графического ускорителя в память хоста.
Для тестирования построены геометрические модели поперечных сечений связанных линий реальной печатной платы в системе TALGAT. Поперечные сечения структур с геометрическими параметрами для двух различных слоёв печатной платы (условно названные Top и Bottom) приведены на рис. 1. На слое Top проводники находятся на поверхности подложки с диэлектрической проницаемостью £гс = 4,2 и покрыты слоем препрега. На слое Bottom проводники покрыты слоем паяльной маски, диэлектрическая проницаемость которой erm = 3,5. Толщина проводников t = 35 мкм, толщина подложки кс = 510 мкм, ширина проводника w = 300 мкм, толщина препрега hp = 170 мкм, толщина маски hm = 10 мкм, расстояние между проводниками s = 475 мкм.
а б
Рис. 1. Поперечные сечения связанных линий на слоях Top (а) и Bottom (б)
Для тестирования вычислены матрицы СЛАУ разных порядков и измерено время их вычисления на хосте (CPU) и графическом ускорителе (GPU). Основные характеристики платформ, на которых выполнялось тестирование реализованного алгоритма, приведены в табл. 1. Время вычисления элементов матрицы СЛАУ сведено в табл. 2.
Таблица 1
Основные характеристики платформ
Платформа Частота процессора, МГц Объём ОЗУ, Мб Число ядер Операционная система
CPU Intel Core I7 930 2800 12288 4 Windows 7 64-bit
GPU Tesla C1060 1300 4096 240 Windows 7 64-bit
Из табл. 2 видно, что для структуры на слое Top отношение времён tCPU/tGPU составило от 7,6 до 18,9 раза, на слое Bottom - от 10,6 до 18,3 раза. Таким образом, использование графического процессора для уменьшения временных затрат при вычислении элементов матрицы СЛАУ в задачах электростатики методом моментов целесообразно.
Таблица 2
Время вычисления элементов матрицы СЛАУ
Порядок матрицы Структура на слое Top Порядок матрицы Структура на слое Bottom
t, мс tCPU / tGPU t, мс tCPU / ¿GPU
CPU GPU CPU GPU
800 220 29 7,6 960 319 30 10,6
1600 860 79 10,9 1440 710 69 10,3
2400 1930 150 12,7 2400 1949 141 13,8
3200 3420 219 15,6 3360 3820 241 15,9
4000 5339 320 16,7 3840 4970 293 17,0
4800 7670 440 17,4 4320 6299 377 16,7
5600 10419 579 18,0 4800 7769 430 18,1
6400 13600 720 18,9 5280 9390 514 18,3
Моделирование выполнено за счет гранта Российского научного фонда (проект №14-19-01232) в ТУСУРе, алгоритмы и программное обеспечение разработаны при поддержке гранта РФФИ 14-2909254.
Литература
1. Газизов Т.Р. Уменьшение искажений электрических сигналов в межсоединениях / Т.Р Газизов; под ред. Н.Д. Малютина. - Томск: НТЛ, 2003. - 212 с.
2. Салов В.К. Важность корректного учёта частотной зависимости диэлектрической проницаемости материалов при моделировании задач ЭМС / В.К. Салов, Т.Р. Газизов, П.Е. Орлов // Изв. высш. учеб. завед. «ФИЗИКА», тематический выпуск под ред. д.ф.-м.н. А.А. Глазунова. - 2012. -Т. 55, № 9/3. - С. 106-108.
3. Параллельные вычисления CUDA. Что такое CUDA? NVIDIA [Электронный ресурс]. - Режим доступа: http://www.nvidia.ru/object/cuda-parallel-computing-ru.html, свободный (дата обращения: 08.09.2015).
4. Ozdemir T. Functional description of the architecture of a special purpose processor for orders of magnitude reduction in run time in Computational Electromagnetics // IEEE Workshop on Signal and Power Integrity (SPI) 17th, Paris. - 2013. - P. 1-4.
5. Burkholder Robert J., Goykhman Yuriy M., Miranda Malcolm J., Ozdemir Tayfun. Multi-core CPU and GPU accelerated FMM-FFT solver for antenna co-site interference analysis on large platforms // IEEE Antennas and Propagation Society International Symposium (APSURSI), Memphis (USA, TN). - 2014. -Р. 1634-1635.
6. Asai H. GPU-based acceleration of the time-domain electrical full-wave solvers in PI/SI/EMI simulation // International Conference on Electromagnetics in Advanced Applications (ICEAA). - Torino, 2011. - P. 1392-1395.
7. Kolundzija B.M., Olcan D.I., Zoric D.P. GPU accelerated EM modelling in frequency domain: Comparison of performance of various GPU cards // International Symposium on Antennas and Propagation (ISAP). - Nagoys, 2012. - P. 918-921.
8. Karwowski A., Topa T., Noga A. Using GPU accelerated version of MoM for solving scattering and radiation electromagnetic problems // 19th International Conference on Microwave Radar and Wireless Communications (MIKOn). - Warsaw, 2012. - P. 233-234.
9. Zoric D.P., Kolundzija B.M. Efficient evaluation of MoM matrix elements using CPU and/or GPU // 6-th European Conference on Antennas and Propagation (EUCAP). - Prague, 2012. - P. 702-706.
Салов Василий Константинович
Канд. техн. наук, доцент каф. телевидения и управления ТУСУРа
Тел.: +7 (382-2) 41-34-39
Эл. почта: [email protected]
В.К. Салов, К.Э. Джанбаев, С.П. Куксенко. Использование графического ускорителя для вычисления 137
Джанбаев Кирилл Эдуардович
Магистрант каф. телевидения и управления ТУСУРа
Тел.: +7 (382-2) 41-34-39
Эл. почта: [email protected]
Куксенко Сергей Петрович
Канд. техн. наук, доцент каф. телевидения и управления ТУСУРа
Тел.: +7 (382-2) 41-34-39
Эл. почта: [email protected]
Salov VK., Dzhanbaev K.E., Kuksenko S.P.
Use of graphics processing unit for calculation of the matrix elements of the system of linear algebraic equations in the TALGAT system
The article describes the development of the calculation algorithm for the matrix entry of the algebraic equations to solve two-dimensional electrostatic problems by the method of moments in the system TALGAT using graphics processing unit. Testing and functioning comparison on the central and graphic processors are performed. Decreasing of the calculation time up to 18,9 times is shown. Keywords: electrostatic, method of moments, graphics processing unit.