Научная статья на тему 'Оптимизация метода расчета при разработке модели магнитного поля методом конечных элементов с использованием прямого решателя'

Оптимизация метода расчета при разработке модели магнитного поля методом конечных элементов с использованием прямого решателя Текст научной статьи по специальности «Математика»

CC BY
246
25
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МЕТОД КОНЕЧНЫХ ЭЛЕМЕНТОВ / СИСТЕМЫ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ / МЕТОД ХОЛЕССКОГО / ТЕХНОЛОГИЯ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ / ТЕХНОЛОГИЯ CUDA / FINITE ELEMENT METHOD / SYSTEM OF ALGEBRAIC EQUATIONS / CHOLESKY METHOD / PARAL L EL COMPUTATI ON TECHNOL OGY / CU DA TECHNOL OGY

Аннотация научной статьи по математике, автор научной работы — Севрюгов Денис Михайлович, Тихонов Андрей Ильич, Семенова Ксения Васильевна

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

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

Похожие темы научных работ по математике , автор научной работы — Севрюгов Денис Михайлович, Тихонов Андрей Ильич, Семенова Ксения Васильевна

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

OPTIMIZATION OF THE CALCULATION METHOD FOR DEVELOPING A MAGNETIC FIELD MODEL BY THE METHOD OF FINITE ELEMENTS USING A DIRECT SOLVENT

The use of the finite element method in engineering calculation svstems is considered. This method reduces the field problem to a svstem of nonlinear equations solved bv the Newton method, at each step of iterations a system of linear algebraic equations is solved. This system is solved by the method of Cholesky in parallel computing technology on a multiprocessor video card. An original algorithm for calculating the system of linear algebraic equations in the finite element method is proposed. We give a calculation scheme for the implementation of the algorithm, which ensures that there is no simultaneous access to the same memory areas from different parallel processes.

Текст научной работы на тему «Оптимизация метода расчета при разработке модели магнитного поля методом конечных элементов с использованием прямого решателя»

УДК 519.612

ОПТИМИЗАЦИЯ МЕТОДА РАСЧЕТА ПРИ РАЗРАБОТКЕ МОДЕЛИ МАГНИТНОГО ПОЛЯ МЕТОДОМ КОНЕЧНЫХ ЭЛЕМЕНТОВ С ИСПОЛЬЗОВАНИЕМ ПРЯМОГО РЕШАТЕЛЯ

Д.М. Севрюгов, А.И. Тихонов, К.В. Семенова

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

Ключевые слова: метод конечных элементов, системы алгебраических уравнений, метод Холесского, технология параллельных вычислений, технология CUDA.

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

Современное автоматизированное проектирование новых технических устройств требует предварительных исследований в целях выявления последствий реализации того или иного проектного решения. Для этого в настоящее время используются системы инженерного анализа (CAE -Computer-aided engineering), позволяющие осуществить расчет физических полей в технических устройствах с учетом особенностей их конструкции. Одной из главных проблем, возникающих при моделировании физических полей, является проблема расчетного времени, которое в некоторых поле-

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

Как известно, прогресс в повышении скорости вычислений одним процессором достиг своего насыщения [1]. Поэтому среди направлений развития вычислительной техники, позволяющим решить проблему снижения расчетного времени полевых задач, одним из наиболее перспективных считается путь, связанный с технологиями параллельных вычислений [2].

Здесь можно отметить интенсивно развивающееся в настоящее время направление, связанное с использованием для математических вычислений многопроцессорных видеокарт фирмы NVIDIA. Технология программирования на видеокартах, получившая название CUDA (Compute Unified Device Architecture) [3, 4], в настоящее время находит все большее применение в технических задачах.

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

Среди математических методов, используемых в системах инженерного анализа наиболее удобными для реализации в технологии параллельных вычислений методы математической статистики, в частности, различные версии метода Монте-Карло. Однако для расчета физических полей метод Монте-Карло используется редко. Наибольшее распространение здесь получили метод конечных элементов и метод конечных разностей, сводящих задачу расчета поля к решению системы нелинейных алгебраических уравнений. При этом на каждом шаге итераций решается система линейных алгебраических уравнений (СЛАУ). Среди методов решения СЛАУ можно отметить прямые и итерационные методы. И если алгоритмы итерационных методов также удобны для распараллеливания [2], как и методы математической статистики, то прямые методы решения СЛУ при распараллеливании требуют существенного усложнения алгоритмов.

Анализ показывает [5, 6], что с ростом количества уравнений СЛАУ расчетное время и требуемый объем оперативной памяти для хранения данных при использовании итерационных методов растет линейно, а в случае прямых методов - квадратично. При этом достаточная для инженерных полевых задач точность в 2D-постановке может быть достигнута при количестве уравнений, составляющих несколько десятков тысяч. Здесь наиболее эффективными по времени оказываются именно прямые методы решения СЛАУ. В то же время уже при 30000 - 40000 уравнений время расчета исчисляется минутами, что недопустимо при решении задач динамики и оптимизации.

Современные CAE-системы используют, как правило, и прямые и итерационные решатели, в том числе адаптированные к технологии параллельных вычислений, выбор которых зависит от особенностей решаемой задачи [7]. При разработке новых CAE-систем рекомендуется воспользоваться существующими решателями СЛАУ, адаптированными к технологии параллельных вычислений, некоторые из которых позволяют распараллеливать прямые методы решения СЛАУ, в частности, такие библиотеки, как PETSc и MAGMA [8]. При этом непосредственно распараллеливание в случае прямых методов осуществляется, как правило, в пределах строки матицы коэффициентов [9, 10]. Движение же по строкам осуществляется с использованием последовательного алгоритма.

Таким образом решатели современных CAE-систем представляют собой отдельные автономные подсистемы, оперирующие с заранее сформированными разреженными матрицами. В то же время СЛАУ, формируемые CAE-системами обладают рядом специфических особенностей, позволяющих сократить время расчета именно в том случае, когда алгоритм решателя интегрирован непосредственно в подсистему формирования СЛАУ. Одновременно это позволяет расширить сферу применения прямых методы решения СЛАУ при большом количестве уравнений (миллион и более) за счет кэширования, алгоритм которого сроится с учетом данных особенностей. Именно такой подход был реализован при разработке библиотеки моделирования физических полей EMLib.

Функционал библиотеки EMLib строится на базе метода конечных элементов, сводящих квазистационарную полевую задачу к решению методом Ньютона системы нелинейных уравнений вида [6, 11]

где {А} - вектор неизвестных величин в узлах конечно-элементной сетки; {I} - вектор значений источников поля; [О] - квадратная матрица нелинейных коэффициентов, зависящих от координат узлов конечно-элементной сетки и от характеристик среды.

При этом на каждом 1-м шаге итераций метода Ньютона решается система уравнений

= ДАц = Ац+1 - Ац - вектор приращений расчетных величин в узлах конечно-элементной сетки на 1-й итерации.

Так как матрица Якоби оказывается симметричной и положительно определенно, то для решения системы уравнений (2) можно использовать прямой метод Холесского [6, 12, 13], суть которого состоит в том, что для каждой симметричной положительно определенной матрицы [I] существует разложение вида

[G \Л}={1},

(1)

вектор невязок;

(2)

[и ] = [г]г [г], (3)

где [Т] - верхняя треугольная матрица.

Если такое разложение найдено, то система уравнений (3) сводится к двум треугольным системам:

[T ]T {Z }—-{F},

[t rn={z}.

Элементы матриц [T], [Z] и [D] определяются по формулам

Tkk -

k -1

Jkk - I Tik

Tkj

1

Tkk 0,

i—a \

f k-1 Jkj - ITikTi

v i—b при k > j v j > k + L-1 1 ( k-1

Zk —

, при k £ j £ k + L-1,

Tkk 1

(4)

(5)

(6)

(7)

(8)

Fk - I Tikzi

V i—a

( c Л Dk — Zk - I Tki Di , (9)

Tkk V i—k+1

k = 1 .. N

j — k .. min (N, k + L-1), (10)

a = max(1, k-L+1), (11)

b = max(1, j-L + 1), (12)

c = min(N, k + L-1), (13)

где Jkj, Jkk - элементы матрицы Якоби; L - длина половины ленты матрицы Якоби; N - количество уравнений СЛУ.

Таким образом, для решения системы уравнений (2) в оперативной памяти компьютера как минимум необходимо хранить матрицу Якоби размер которой составляет N2. При N > 106 это практически нереально. Ситуация облегчается тем, что в методе конечных элементов за счет оптимальной нумерации узлов конечно-элементной сетки матрице Якоби можно придать ленточную структуру с шириной ленты 2L-1, что с учетом симметрии позволяет ограничиться хранением в памяти только N х L элементов (верхняя полулента) (обычно L = (0,01 - 0,1) . N). Но и в этом случае требуемый размер оперативной памяти может оказаться недопустимо большим.

Принципиальным решением могло бы стать кэширование, когда вся матрица или ее часть хранятся на жестком диске, обращение к которому осуществляется по мере необходимости. Для того чтобы ускорить процесс кэширования, необходимо учитывать особенности алгоритма решения СЛУ.

В частности, анализ уравнений (3) - (13) показывает, что элементы и 1кк, будучи использованными для вычисления Тщ и Ткк в дальнейших вычислениях не участвуют. Это значит, что разложение матрицы Якоби [I] может происходить одновременно с вычислением ее элементов, в результате чего отпадает необходимость в их непосредственном хранении, тем более что структура матрицы [I] совпадает со структурой матрицы [Т].

Процесс разложения матрицы [I] идет в цикле построчно (рис. 1). При этом, как видно из (7), для расчета элементов текущей строки Тщ требуется только соответствующий элемент матрицы Якоби те элементы матрицы [Т], которые уже рассчитаны и находятся в к-м столбце выше элемента Тщ, а также все элементы к-го столбца Т;к и Ткк. Если одновременно с вычислением элементов Тщ сохранять их значения в кэш-файле, то становится возможным использование для решения системы уравнений в

оперативной памяти массива объемом П = Ь .

Решение треугольной системы [5] осуществляется построчно вместе с расчетом соответствующей строки матрицы [Т]. При этом элементы вектора [7] последовательно замещают в памяти элементы вектора [Б]. При решении треугольной системы (5) из кэш-файла построчно в обратном порядке считываются элементы матрицы [Т], после чего происходит вычисление соответствующих элементов вектора [Б], которые замещают в оперативной памяти элементы вектора [7] (рис. 2).

ь

Рис. 1. Иллюстрация процесса расчета элемента строки матрицы [Т]:

Ш - вычисляемый элемент; - вычисленная часть, используемая при расчете текущего элемента; Ш - вычисленная часть, не используемая при расчете текущего элемента; □ - нерассчитанная часть полуленты, доступ к которой пока

не производился 360

ь

Рис. 2. Иллюстрация процесса расчета элемента строки матрицы {О}: Ш - вычисляемый элемент; - строка матрицы [Т], прочитанная сиз кэш-файла для расчета текущего элемента; Ш - вычисленная часть матрицы {О}, используемая при расчете текущего элемента; □ - неиспользуемая часть кэш-файла

Наибольшие затраты расчетного времени присутствуют при разложении матрицы [Т]. Именно здесь имеет смысл искать применения технологии параллельных вычислений. Однако ввиду того, что при разложении каждой строки матрицы [Т] используются элементы других строк, то сделать это можно только учитывая особенности предложенной выше реализации метода Холесского.

Главная проблема, возникающая при распараллеливании алгоритмов в технологии Сиёа, состоит в опасности одновременного обращения к одним и тем же переменным из разных нитей (процессов). Для устранения данной проблемы необходимо сформировать в глобальной памяти на видеокарте дополнительную матрицу [А], размером Ь х ь, в которой сохраняется копия активной части полуленты матрицы [Т], состоящая из строк полуленты в диапазоне номеров от к-Ь+1 до к. Кроме того, на видеокарте формируется дополнительный вспомогательный вектор {В} размером Ь х 1 для хранения копии текущей строки матрицы [А] и {С} размером Ь х 1 для хранения копии вектора {Б}. Структура матрицы [А] представлена на рис. 3. В памяти центрального процессора также формируются две матрицы: [Е] для хранения активной части полуленты матрицы [Т] и имеющая ту же структуру, что и матрица [А], и вектор {Б}.

Алгоритм расчета элементов в технологии параллельных вычислений выглядит следующим образом.

1. Вначале матрицы [Е], {Б} (в памяти центрального процессора), [А], {В} и {С} (в памяти видеокарты) заполняются нулями.

2. Расчет элементов матрицы [Т] идет в цикле построчно, начиная с первой строки. Текущей к-й строке матрицы [Т] соответствует р-я строка матриц [Е] и [А]. При этом

р = к - Ь ■ ^

V Ь у

(14)

где int - функция выделения целой части числа.

А,. .Г

Агь

А^ А^ 7* 1

к/ А^ г— У А,,

А^ А^ А^ 7*— А,,

у. К/г К/ 7*— Ал

А^ у! А^ А^ 7*- 1

г — И—1

___ ___ I ! ___ / / X / / / /

— 1 -ч--- \ "у7 / 7 / / / ? / - ■ --- —

6 £/ У**--Зв / / Аи.п. Au.ii.; А.п, А^-ЗЬ

5 / ^ у7!/1 Т Аиы V 7 А121

/ 1 1 1 К/--. У— к/. -

—* А„ —* А12 —-р- к. —Г А15 Т К, -у А,, 1 1 1 д > "ил > А,,,

Рис. 3. Структура матрицы [А] и распределение адресного пространства на графической карте для ускорения работы прямого решателя: - ячейки матрицы [Т], не участвующие в расчете текущей строки

3. Расчет элементов к-й строки матрицы [Т] начинается с расчета элементов к-й строки матрицы Якоби. Данный расчет осуществляется средствами центрального процессора, то есть без привлечения технологии параллельных вычислений. Это объясняется тем, что в к-й строке матрицы Якоби ненулевыми элементами являются только те элементы, которые со-

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

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

сравнению с количеством расчетов, выполняемых при расчете к-й строки матрицы [Т] (при разложении матрицы Якоби по методу Холесского итоговая матрица [Т] претерпевает заполнение и оказывается неразреженной). Это позволяет вынести данный фрагмент алгоритма в область ответ-

ственности центрального процессора без существенного увеличения расчетного времени, что существенно упрощает распараллеливание алгоритма. Рассчитанные таким образом элементы к-й строки матрицы Якоби помещаются в соответствующие ячейки р-й строки матрицы [Е]:

Ерд - Тк], (15)

Ч = ] - к +1, (16)

р рассчитывается по (14).

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

Одновременно осуществляется перенос

Ср - ¥к, (17)

4. Р-я строка матрицы [Е], соответствующая к-й строке полуленты матрицы [Т], передается в глобальную память видеокарты, замещая элементы р-й строки матрицы [А]:

АРЧ — ЕРЧ . (18)

5. Разложение р-й строки матрицы [А] осуществляется средствами многопроцессорной видеокарты. Расчет ведется параллельно, то есть одновременно для всех д-х элементов р-й строки по формулам, вытекающим из (6), (7) и (8):

Ар1 -

ь-1 2

Ар1 - I А2 , (19)

г=1 Ь - ч

АРЧ — АРЧ - I , (20)

г=1

Ср -—

Р А

{ Ь-1 ^

СР - 1 AsvCs

V г=1 )

Р1

ГР + г при Р + г < Ь, s = \

уР + г - Ь при Р + г > Ь,

ГР + г + ч -1 при Р + г + ч -1 < Ь, и = <

уР + г + ч -1 - Ь при Р + г + ч -1 > Ь,

(21)

(22) (23)

V = г +1. (24)

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

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

ь - ч

х нитей. Для этого суммирование I А^Ащ в (20) осуществляется именно

г=1 363

в том порядке, который задается индексом г, а также формулами (23) - (24) для расчета индексов и и V, причем после каждого шага суммирования происходит синхронизация по всем нитям. Это позволяет избежать одновременного обращения к элементам к-го столбца из нескольких нитей. Схема обращения к элементам матрицы [А] из разных нитей с последующей записью результатов в р-ю строку представлена на рис. 3.

6. Первая нить заполняет вектор {В} элементами Ар1 и синхронизирует все нити.

7. Все нити, кроме первой, завершают расчет соответствующих элементов р-й строки матрицы [А]

Арч - АР4. (25)

8. Р-я строка матрицы [А] копируется в к-ю строку матрицы [Т], начиная с к-го столбца:

Тк] - Арч, (26)

] = Ч + к -1. (27)

Одновременно осуществляется перенос

Рк - Ср, (28)

9. Р-я строка матрицы [А] копируется в кэш-файл.

10. Данный алгоритм повторяется, пока не будут рассчитаны и записаны в кэш-файл все N строк матрицы [Т].

11. Решение треугольной системы (5) осуществляется по схеме, показанной на рис. 2, с использованием простого традиционного алгоритма распараллеливания [9].

Приведенный алгоритм ограничивает количество обмена информацией между глобальной памятью видеокарты и оперативной памятью центрального процессора лишь передачей строк полуленты матрицы [Т] и элементов вектора {Б} в видеопамять и обратно. Матрица [А] перестраивается по мере расчета ее элементов и всегда хранится в памяти видеокарты.

В процессе прямого прогона обеспечивается одновременное выполнение таких операций, как расчет элементов матрицы коэффициентов, ее разложение с формированием треугольной матрицы [Т], решение системы уравнений (4) и сохранение матрицы [Т] в кэш-файле. При этом отсутствует этап непосредственного формирования и хранения матрицы коэффициентов для последующей передачи ее решателю. Такое становится возможным только при слиянии подсистемы расчета элементов матрицы Якоби [I] по методу конечных элементов с функциями решателя СЛАУ, что невозможно при использовании автономных решателей, традиционно используемых в САЕ-системах.

В ходе решения системы уравнений (2) происходят однократная запись и однократное считывание кэш-файла. Это позволяет ограничиться хранением в оперативной памяти лишь массива объемом п = i2, снизить

364

требуемый для хранения матрицы Якоби объем оперативной памяти минимум в 10 раз (а в некоторых задачах до 1000 раз) по сравнению с традиционным способом хранения полуленты даже в блочном варианте. В совокупности с ускорением расчетов, получаемым за счет распараллеливания, это позволяет расширить область применения прямых решателей СЛАУ до нескольких сотен тысяч уравнений. При этом увеличение расчетного времени по причине кэширования по сравнению с вариантом хранения матрицы [T] в оперативной памяти не превышает 5.. .8 %.

Таким образом, кэширование несколько уменьшает эффект от реализации описанного алгоритма. Однако, так как максимум расчетного времени расходуется именно на разложение матрицы Якоби, то эффект ускорения расчетов вследствие использования технологии параллельных вычислений получается весьма заметным. Так, на многопроцессорной видеокарте GeForce GTX 660 (960 ядер CUDA, тактовая частота 1032 МГц, доступная графическая память 4095 МБ) решение задачи расчета магнитного поля в технологии CUDA проходит в 10 - 20 раз быстрее, чем в традиционном варианте с последовательным алгоритмом в зависимости от конкретной задачи (в некоторых случаях удается достичь 50-кратного ускорения).

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

Список литературы

1. Прошлое роста производительности: конец гонки частот, много-ядерность и почему прогресс увяз на одном месте. Intel/ Look inside [Электронный ресурс]. URL: http://habrahabr.ru/company/intel/blog/174719/ (дата обращения: 20.12.2017).

2. Семенова К.В. Разработка методов построения и реализации алгоритмов расчета магнитных полей и характеристик турбогенераторов на многопроцессорной ЭВМ: автореф. дис. ... канд. техн. наук. М., 2005.

3. Сандерс Дж., Кэндрот Э. Технология CUDA в примерах: введение в программирование графических процессоров / пер. с англ. А.А. Слинкина; науч. ред. А.В. Боресков. М.: ДМК Пресс, 2011. 232 с.

4. Боресков А.В., Харламов А.А. Основы работы с технологией CUDA. М.: ДМК Пресс, 2010. 232 с.

5. Тихонов А.И., Шмелев А.С., Булатов Л.Н. Разработка итерационного решателя библиотеки конечно-элементного моделирования магнитного поля и способов ускорения его работы // Вестник ИГЭУ. 2013. Вып. 5. С. 58-63.

6. Тихонов А.И., Шмелев А.С., Тихонов Д.А. Модели электрического и магнитного полей, адаптированные к технологии параллельных вычислений. Иваново: Иванов. гос. энерг. ун-т им. В.И. Ленина, 2014. 100 с.

7. Иванов С.Е. «Интеллектуальные программные комплексы для технической и технологической подготовки производства. Системы инженерного расчета и анализа деталей и сборочных единиц: учебно-методическое пособие / под ред. Д. Д. Куликова СПб: СПбГУ ИТМО, 2011. Ч. 5. 48 с.

8. Сидоров А.В. GPU-технологии в параллельных решателях систем линейных алгебраических уравнений // Вестник МГСУ. 2012. Вып. 5. С. 187-193.

9. Старченко А.В., Берцун В.Н. Методы параллельных вычислений: учебник Сер. «Суперкомпьютерное образование». Томск: Изд-во Томск. ун-та, 2013. 223 с.

10. Баркалов К. А. Методы параллельных вычислений. Н. Новгород: Изд-во Нижегород. гос-та им. Н.И. Лобачевского, 2011. 124 с.

11. Казаков Ю.Б., Щелыкалов Ю.Я. Конечно-элементное моделирование физических полей в электрических машинах. Иваново: Иванов. гос. энерг. ун-т им. В.И. Ленина. 2001. 100 с.

12. Икрамов Х.Д. Численные методы линейной алгебры. М.: Знание, 1987. 48 с.

13. Джорж А., Лю Дж. Численное решение больших разреженных систем уравнений. М.: Мир, 1984. 334 с.

Севрюгов Денис Михайлович, асп., zeron88@yandex. ru, Россия, Иваново, Ивановский государственный энергетический университет им. В.И. Ленина,

Тихонов Андрей Ильич, д-р техн. наук, проф., зав. кафедрой, aitadsn.ru, Россия, Иваново, Ивановский государственный энергетический университет им. В. И. Ленина,

Семенова Ксения Васильевна, канд. техн. наук, доц., skv1_70a mail.ru, Россия, Иваново, Ивановская пожарно-спасательная академия ГПС МЧС России

OPTIMIZATION OF THE CALCULATION METHOD FOR DEVELOPING A MAGNETIC FIELD MODEL BY THE METHOD OF FINITE ELEMENTS USING

A DIRECT SOLVENT

D.M. Sevryugov, A.I. Tikhonov, K. V. Semenova 366

The use of the finite element method in engineering calculation systems is considered. This method reduces the field problem to a system of nonlinear equations solved by the Newton method, at each step of iterations a system of linear algebraic equations is solved. This system is solved by the method of Cholesky in parallel computing technology on a multiprocessor video card. An original algorithm for calculating the system of linear algebraic equations in the finite element method is proposed. We give a calculation scheme for the implementation of the algorithm, which ensures that there is no simultaneous access to the same memory areas from different parallel processes.

Key words: finite element method, system of algebraic equations, Cholesky method, parallel computation technology, CUDA technology.

Sevryugov Denis Mikhailovich, postgraduate, zeron88ayandex. ru, Russia, Ivanovo, Ivanovo State Power University named after. IN AND. Lenin,

Tikhonov Andrey Ilich, doctor of technical sciences, professor, head of chair, aiiadsn.ru, Russia, Ivanovo, Ivanovo State Power University named after V.I. Lenin,

Semenova Ksenia Vasilyevna, candidate of technical sciences, docent, skv1_70a mail.ru, Russia, Ivanovo, Ivanovo Fire and Rescue Academy of the State Fire Service of the Ministry of Emergency Situations of Russia

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