Background Image
Previous Page  25 / 32 Next Page
Information
Show Menu
Previous Page 25 / 32 Next Page
Page Background

каждого выбранного дискретного направления, сведя тем самым мно-

гомерное интегродифференциальное уравнение (7) к множеству одно-

мерных обыкновенных дифференциальных уравнений (если интеграл

рассеяния учитывается итерационно):

dI

(

η, ω

)

+

k

(

η

)

I

(

η, ω

) =

S

(

η, ω

)

,

где

η

— параметр, имеющий смысл расстояния вдоль луча, проходя-

щего через данный узел пространственной сетки;

S

(

η, ω

)

— источник

рассеянного излучения.

Для каждой точки сетки

x

i

необходимо провести трассировку лу-

чей, приходящих в нее вдоль векторов

ω

j

сферы направлений, выбран-

ной с учетом удаленности точки

x

i

от границы. Аккуратный учет гра-

ничных условий для поля излучения приводит к выбору своего набора

(и своего количества) дискретных направлений для каждой точки, что

серьезно увеличивает требования к вычислительным ресурсам, пре-

жде всего к памяти. При этом наличие цилиндрической симметрии

приводит к необходимости трассировать направления распростране-

ния излучения в трехмерной области. Эту задачу легко свести к трас-

сировке кривой второго порядка (гиперболы) в плоской области

D

.

Реализация МДН, а также процедуры трассировки лучей и инте-

грирования вдоль них УПИ предъявляет высокие требования к ре-

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

лесообразно именно использование SMP-модулей с максимальным

доступным на данном узле кластера числом процессорных ядер и мак-

симально доступной памятью.

Изложенный в настоящей работе численный метод реализован в

виде программного комплекса, написанного на языках программиро-

вания Фортран-90 и C++. Комплекс использует следующие технологии

программирования для SMP-машин:

технология OpenMP применена для параллельного выполнения

интегрирования УПИ вдоль протрассированных и сохраненных в опе-

ративной памяти лучей, соответствующих данному узлу сетки, осу-

ществляемого независимо для каждого узла;

технология nVidia CUDA использована для параллельного вычи-

сления интеграла рассеяния (учет интеграла в (7) проводится итера-

ционно) в разных пространственных узлах расчетной области, причем

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

странственном узле выполняется в рамках блока тредов одного графи-

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

в рамках одного треда в указанном блоке.

Использование этих технологий позволило существенно ускорить

работу программного комплекса. В частности, процедура трассировки

ISSN 1812-3368. Вестник МГТУ им. Н.Э. Баумана. Сер. “Естественные науки”. 2015. № 2

87