УДК 535.42 + 004.92
РЕАЛИЗАЦИЯ FDTD-МЕТОДА ПО ТЕХНОЛОГИИ CUDA
2 1 © 2010 Д.Л. Головашкин , С.А. Малышева
Самарский государственный аэрокосмический университет имени академика С.П. Королёва (национальный исследовательский университет)
Институт систем обработки изображений РАН
Работа посвящена реализации векторного разностного (FDTD) метода решения системы уравнений Максвелла с использованием специализированных графических процессоров (Graphics Processing Unit, GPU). Реализация данного алгоритма для двумерной задачи на графическом процессоре NVIDIA GeForce GT 240 по технологии CUDA продемонстрировала ускорение вычислений в 42,9 раза по сравнению с расчётами на центральном процессоре Intel Core Duo E6500. Рассмотрены перспективы применения декомпозиции сеточной области при реализации векторного FDTD-метода на GPU.
Уравнения Максвелла, разностный метод (FDTD), графический процессор (GPU), CUDA, векторный алгоритм, декомпозиция сеточной области.
Введение
Дифракционная компьютерная оптика развивается более 25 лет [1-3]. За прошедшие годы решены фундаментальные задачи: создание технологической базы [4-6], алгоритмов расчёта [1, 2, 7, 8] и моделирования [9, 10], методик проведения экспериментов [11-15]. Дифракционные оптические элементы нашли широкое применение в лазерных установках [1619], оптических приборах [20, 21], устройствах хранения информации [22]. Последние годы наблюдается тенденция к миниатюризации ДОЭ и их интеграции с другими оптическими компонентами различных устройств [23, 24]. При этом методы расчёта, основанные на геометрическом и скалярном приближениях, становятся неадекватными, что приводит к необходимости решения уравнений Максвелла [25].
Одним из наиболее распространённых методов решения системы уравнений Максвелла является разностный метод, предложенный в 1966 г. К. Б. Уее [26] и развитый в работах А. Тайоуе [27], а применительно к решению задач компьютерной оптики - Р. В. Циолковски (Я. '. Ziolkowski) [28], В. А. Сойфером [29],
Д. В. Празером (D. W. Prather) [30, 31] и др. [32-36].
FDTD является универсальным методом решения уравнений Максвелла и применим как для решения одномерных, так и двух- и трёхмерных задач. Однако его существенным недостатком является высокая вычислительная сложность. Так, трёхмерные реализации FDTD характеризуются большим числом арифметических операций и высокими требованиями к объёму оперативной памяти, в силу чего расчёт может занимать длительное время.
Существуют различные подходы к снижению вычислительной сложности в данном случае. Одним из них является наложение подвижной сеточной области (B. Fidel, E. Heyman, R. Kastner and R. W. Ziolkowski) [37], применяемое при исследовании распространения одиночного импульса. Другим распространённым способом снижения длительности вычислений признаётся использование параллельных алгоритмов. Они впервые были предложены A. T. Perlik [38] применительно к явным разностным схемам Yee и развиты в современной монографии W. Yu, R. Mittra, T. Su, Y. Liu, H. Yang [39].
Альтернативный способ снижения длительности расчётов основан на векто-
ризации алгоритма. До последнего времени векторные алгоритмы не получили широкого распространения из-за недоступности аппаратной базы широкому кругу исследователей. Развитие графических процессоров (Graphics Processing Unit, GPU) позволило использовать их в неграфических векторных вычислениях.
Исследователями D.K. Price, J. R. Humphrey, E.J. Kelmelis [40] предложены общие принципы реализации FDTD-метода на GPU с использованием текстур (каждому узлу сеточной области ставится в соответствие 1 пиксел). Ими проведены расчёты для двумерных и трёхмерных задач, произведено сравнение с результатами, полученными на CPU. В работе [41] S. Adams разработана общая схема реализации алгоритма, дана оценка вычислительной сложности и требований к объёму памяти, проведён подробный анализ условий, необходимых для получения ускорения на различных GPU и CPU. Однако использование текстур существенно затрудняет написание и верификацию программного кода, в силу чего не получило широкого распространения.
Появление технологии CUDA (Compute Unified Device Architecture) [42] открыло новые возможности реализации векторных алгоритмов на GPU, не требуя более использования графического API (Application Programming Interface). В работах A. Valcarce с соавторами [43, 44] рассматривается двумерная вычислительная область с граничным условием CPML (Convolutional Perfectly Matched Layer). Авторами предложено использовать отдельные вычислительные ядра для каждого из 4 CPML-слоёв и основной области вычислений. Также рассмотрен вопрос об объёме блока для достижения максимальной загрузки GPU.
Однако все вышеперечисленные работы объединяет отсутствие исходного кода либо его платность, фрагментарность описания реализации алгоритма на GPU. В силу этого невозможно восстановить условия экспериментов и провести их повторно, т.к. получаемые результаты существенно зависят от способа реализации.
Цель данной публикации - предоставить доступ к технологии векторизации РОТО-метода широкому кругу пользователей.
1. ЕБТБ-алгоритм
Ограничиваясь двумерным случаем распространения Н-волны, запишем систему уравнений Максвелла [45]:
Ао
H
dt
ЭЕ
dz
Ао
дН дЕг
dt
ду ’
(1)
ЄоЄ
dEx_ dHz дНу
dt dy dz где t - время, с; Ні - проекция вектора напряжённости магнитного поля на направление і, А/м; Еі - проекция вектора напряжённости электрического поля на направление і, В/м; Є - относительная диэлектрическая проницаемость, єо и Ао -электрическая и магнитная постоянные, Ф/м и Г н/м, соответственно [27].
Решая представленную систему, традиционно моделируют распространение TE-волны в цилиндрических оптических элементах (линзах, фокусаторах в отрезок, двумерных фотонных кристаллах и т. д.).
Переходя к рассмотрению решения системы (1), на двумерную область вычислительного эксперимента О (0 < t < T, 0 < у < Ly, 0 < z < Lz) обычно накладывают сеточную структуру Он, в узлах которой {(tm, yj, zk): tm = mht, m = 0,..., M = T/ht, y = jhy, j = 0,..., J = Ly/hy, zk = khz, k = 0,..., K = L/hz} определена сеточная проекция электрического поля на ось X - Em. . Сеточная про-
j ,k
екция магнитного поля на ось Z - Н
: +0,5
z j+0,5,k
определена в узлах {(tm+0,5, yj+0,5, zk): tm+0,5 = (m + 0,5)ht, m = 0,M-1,
yj+o,5 = (j + 0,5)hy, j = 0,.., J-1, zk = khz,
k=1,..,K-1} и проекция магнитного поля на
Y -И"у‘ +0055 в узлах {(tm+0,5, yj, Zk+0,5):
tm+0,5 = (m + 0,5) ht, m = 0,..., M-1, yj = jhy, j = 1,.., J-1, Zk+05 = (k + 0,5)hz, k = 0,..., K-1}. На рис. 1 представлено расположение уз-
лов Он в пространстве без учёта временной координаты.
Индексы к обозначают узлы по пространству (направления У и Т), т - по времени. Расстояния между узлами задаются пространственными (Ну и Нг) и временным (Ы) шагами сетки. Сеточное значение диэлектрической проницаемости (£],к) характеризует изучаемый оптический элемент.
Тогда, следуя работе К. Б. Уее [26], запишем для системы (1) разностный аналог:
jjm+0,5 jj m_0,5
ßo
ßo
yj ,k+0,5 yj ,k+0,5
jm+0,5 jm_0,5 e: Em
zj+0,5,k zj+0,5,k ____ xj+1,k xj,k
Em - E
x ,k+1 xj ,k .
єє
fc0fcj,k
Em+1 - Em
xj,k xj,k
(2)
jm+0,5 jm+0,5 jm+0,5 jm+0,5
z j+0,5,k z j_0,5 ,k yj ,k+0,5 yj ,k_0,5
Рис. 1. Сеточная область без учёта дискретизации по времени:
Т?Ш
окружностям соответствуют проекции Ьх^ ,
Яш +0,5 \ ттт +0,5
, квадратам - Н
* ' ¿¡+0,5, к Г У¡,к+0,5
Задавая граничные условия, положим
Бт = 0 и Бт = 0 при 0 < т < М и 0 < к < К;
Х0,к Х ,к А
Бт = 0 и Бт = 0 при 0 < т < М и 0 < і < J,
X ,0 ХІ К
что соответствует электрической стенке.
Начальное условие записывается как
Е°к =Ф2( к, к\)
(1 < ] < 1 -1, 1 < к < К-1).
2. Векторизация алгоритма
Достоинством решения по схеме (2) является возможность его векторизации. Вычислительные процедуры по классическим схемам Уее основываются на чередовании временных слоёв: сеточные
функции на следующем временном слое выражаются исключительно через функции на предыдущих двух слоях (как в (2)).
При реализации вычислений принято хранить по одному временному слою для каждой проекции. Тогда имеет смысл следующий векторный алгоритм [27], записанный в традиционной нотации Дж. Голуба [36]:
для m=1:m % проход по всем временным слоям
% вычисление проекции Ех на данном временном слое Ex ( 2 : J-1, 2 : К-1) =Ex ( 2 : J-1,2:К-1) + ^^у/ео № (2^-1,2:К-1)-Hz (и-2, 2:К-1) ) -ht/hz/eo (Ну (2^-1, 2:К-1)-Hy(2:J-1,1:K-2)))./е(2^-1,2:К-1) ;
%вычисление проекции Hy на данном временном слое Hy(2:J-1,1:K-1)= Ну(2^-1,1:К-1)-ht/hz/mo(Ex(2^-1,2:К)-Ex(2:J-1,1:K-1));
%вычисление проекции Hz на данном временном слое ^(и-1,2:К-1) = ^(и-1,2:К-
1)-ht/hy/mo(Ех(2^,2:К-1)-Ex(1:J-1,2:K-1).
Каждая строка алгоритма может быть развёрнута в две циклические конструкции, соответствующие проходу по строкам и столбцам области ОН.
На любом временном слое сеточные функции выражаются через операции сложения векторов и Бахру.
3. Реализация по технологии СиБЛ
Вычислительные эксперименты по определению ускорения проводились на видеокарте
NVIDIA GeForce GT 240
m
h
h
tz
h
h
y
h
h
h
y
z
(табл. 1) и процессоре Intel Core Duo E6500 (табл. 2).
Не задаваясь целью провести исследование какой-либо физической модели, авторы сосредоточили своё внимание на изучении ускорения вычислений при распространении плоской однородной монохроматической волны в вакууме. Область вычислительного эксперимента характеризовалась линейными размерами Ly = Lz = 1500 мкм и дискретизацией J = K от 100 до 4000 узлов сеточной области. Длина волны принималась равной Л = 0,3 мкм. Дискретизация по времени Т = 400 узлов.
Исследование велось в операционной системе Microsoft Windows XP, 32-bit (Service Pack 3) с установленным драйвером NVIDIA CUDA 2.3 driver. Скалярный и векторный алгоритмы написаны с использованием программного пакета Microsoft Visual Studio 2005.
Стремясь сравнить ускорение вычислений на GPU относительно CPU, авторы реализовали алгоритм несколькими способами: скалярно на CPU, на GPU с использованием матричных и векторных функций библиотеки CUBLAS, а также без использования функций библиотеки с применением CUDA runtime API.
Таблица 1. Основные характеристики GPU NVIDIA GeForce GT 240
Характеристика Значение
Количество мультипроцессоров, шт. 12
Размер видеопамяти, Мб 512
Максимальное число потоков в блоке, шт. 512
Максимальная размерность блока потоков (х, у, г), шт. 512x512x64
Максимальная размерность сетки блоков, шт. 65535x65535x1
Т актовая частота ядра, МГ ц 550
Т актовая частота памяти, МГ ц 1000
Т аблица 2. Основные характеристики CPU Intel Core Duo E6500
Характеристика Значение
Т актовая частота ядра, ГГ ц 2,93
Т актовая частота шины СРи, МГ ц 1066
Кэш Ь1, Кб 64x2
Кэш Ь2, Кб 2048
Пропускная способность шины процессор-чипсет, Гб/с 8,528
Ширина шины Ь2 кэша, бит 512
Ниже приведено ядро (kernel в терминах [42]) для GPU, выполняющее основные операции описанного выше векторного алгоритма без использования функций библиотеки:
//Функция для расчета на GPU матрицы проекции вектора напряженности //электрического поля на ось х без использования функций библиотеки
__global____ void vectorEx(float* Ex,
float* Hy, float* Hz, int
Je,
int Ke, float Ca, float Cb,float Db, float Wt,int
Js,
int Ks)
{// номер элемента в блоке
int idx = blockldx.x * blockDim.x +
threadIdx.х; idy = ЫоскМх.у * ЬІоекОіт.у + threadIdx.y;
//расчет элементов матрицы Ех 1£ ((idx>0) && (idx<Je) && (idy>0)
&& (idy<Ke))
Ex [idy* ^є+1) +idx] =Ca*Ex [idy* ^є+1 )+
idx] +СЬ* (^ [idy* ^є) +idx] -
^[idy* ^є)+idx-l]+Ну[(idy-
1)*
^є+1 ) +idx] -Ну [idy* ^є+1 ) +idx] ) ;
___syncthreads() ;
//задание источника И ((idx==Js)&&(idy==Ks))
Ex[idy* ^є+1)+idx]=sin(Wt) ;
___syncthreads();
}
//Функция для расчета на ОРи матрицы проекции вектора напряженности
магнитного //поля на ось у без использования функций библиотеки
__global___ void vectorHy(float* Ex,
float* Hy, int Je, int Ke, float Db)
{// номер элемента в блоке
int idx = blockldx.x * blockDim.x +
threadldx.x;
int idy = blockldx.y * blockDim.y +
threadldx.y;
//расчет элементов матрицы Hy if ((idx>0)&&(idx<Je)&&(idy<Ke))
Hy[idy*(Je+1)+idx]=Hy[idy*(Je+1)+ idx]+Db*(Ex[idy*(Je+1)+idx]-Ex[(idy+1)*(Je+1)+idx]);
__syncthreads();
}
Таблица 3. Время выполнения алгоритма
//Функция для расчета на GPU матрицы проекции вектора напряженности магнитного поля на ось z без использования функций библиотеки
___global__ void vectorHz(float* Ex,
float* Hz, int Je, int Ke,
float
Db)
{// номер элемента в блоке
int idx = blockldx.x * blockDim.x +
threadldx.x; int idy = blockldx.y *blockDim.y + threadldx.y;
//расчет элементов матрицы Hz if ((idx<Je)&&(idy>0)&&(idy<Ke))
Hz[idy*(Je)+idx]=Hz[idy*(Je)+idx]+ Db*(Ex[idy*(Je+1)+idx+1]-Ex[idy*(Je+1)+idx]);
___syncthreads();
}
Число отсчётов Время выполнения, с
на CPU на GPU
с использованием функций библиотеки без использования функций библиотеки
векторных матричных
100 0,09 2,99 0,23 0,10
200 0,59 6,00 1,12 0,10
300 1,93 9,02 3,06 0,11
400 4,29 12,00 7,07 0,18
500 7,28 14,92 12,97 0,26
600 9,82 17,85 21,82 0,37
700 12,75 20,80 33,57 0,49
800 15,80 23,78 51,09 0,65
900 20,17 26,70 72,26 0,79
1000 24,65 29,63 97,49 0,97
1500 54,57 44,38 319,82 2,17
2000 102,82 59,02 758,59 3,80
2500 158,56 73,75 1484,20 5,99
3000 244,68 88,40 2530,93 8,55
3500 399,46 103,27 4029,10 11,65
4000 653,72 118,97 - 15,23
Матрицы Ех, Ну, Hz задают электрическое и магнитное поля, Je, Ke - количество узлов по осям y, z. Размер блока равен 100x5 потоков (thread в терминах [42]), размер сетки (grid в терминах [42]) выбирался равным Je/100xKe/5. На каждом мультипроцессоре может выполняться совокупность потоков до 24 (24 warp в терминах [42]), размер warp = 32 потока, за счёт чего и достигается ускорение.
Этот же алгоритм может быть реализован с использованием как векторных (cublasSscal, cublasSaxpy), так и матричных (cublasSgemm) функций библиотеки CUBLAS [45], что позволяет не вычислять номер thread и не выполнять их синхронизацию, что делает код более понятным пользователю, незнакомому с особенностями CUDA. При этом использовалась
современная версия библиотеки CUBLAS 2.3.
В табл. 3 представлено время выполнения алгоритма, рис. 2 иллюстрирует зависимость времени выполнения от числа узлов сеточной области.
Как видно из рис. 2, зависимость времени выполнения от размерности задачи для векторных алгоритмов на GPU линейная, а при использовании матричных функций библиотеки CUBLAS и для скалярного алгоритма на CPU - параболическая. Параболическая зависимость времени выполнения от размерности задачи для CPU объясняется тем, что с ростом размерности задачи число скалярных операций увеличивается пропорционально квадрату размерности сеточной области, а число векторных операций растёт линейно. Для матриц небольшой размерности существенной разницы нет, что связано с возможностью центрального процессора быстро обрабатывать небольшое количество данных, которое может быть помещено в кэш (cache). С ростом размерности задачи большое количество времени уходит на пересылку данных из оперативной памяти в кэш.
Для наглядности на рис. 3 представлена зависимость времени выполнения ал-
горитмов от числа узлов сеточной области с использованием логарифмической шкалы.
При большой размерности матриц использование алгоритмов FDTD, реализованных на CUDA, даёт существенное ускорение относительно CPU: для 1500 отсчётов - в 2 раза при реализации через векторные функции библиотеки CUBLAS и в 25 раз без их использования, а для 4000 отсчётов - в 5,5 и 42,9 раза соответственно. Этот результат следует объяснить особенностями архитектуры GPU: на CPU большую часть ядра занимает кэш и сложные арифметико-логические устройства (АЛУ), на графическом ядре размещено большое количество упрощённых АЛУ, которые имеют общую память на кристалле.
Использование функций библиотеки CUBLAS заметно увеличивает время вычислений. Однако с ростом размерности задачи выигрыш во времени при реализации с применением “CUDA runtime API” относительно реализации с помощью векторных функций библиотеки CUBLAS снижается с 30 раз при J = 1000 и до 7,8 при J = 4000, что свидетельствует о наличии оптимизации библиотеки для больших задач.
о
сс
и
ш
й.
Ш
4500 4000 3500 3000 2500 2000 1 ьии 1000 500 0
А і І Г
І t 1 1 і
І *
t * t
д * І
t А t ж
- - - - - - — _■ - - - - - - ' и - V ~ \ К г- -П - -
1UU AUU УШ 4UU ьии Ш1_ iUU tuu аш lUUUIbUU ^иии ¿ьии аиии аьии ¿иии ______________________Количество узлов__________________
---Вримн выпилненин СРи
♦ - - Время ОЫГОЛИС1МЯ 113 ОРи с испол иоосп шем осктор 1ых ф дикций
-А----Р!ррмя ЙЫГППНРНИЯ Нн Г-;Р11 г иппппкчпканирм матричных ф ункций
• Цремя выполнения на ими (кегпе1)
Рис. 2 . Время выполнения алгоритма в зависимости от числа узлов сеточной области
(3
С
(Ü
3
сс V я * í: и: о
LÜ 1
S . О. '■
га
ф 1
о
с:
-■'А
ж" ...а” г.Л"'
- Г* - г'
4F ' J*r ж'“ г", ■"Ж ... г""
г"
100 200 300 400 500 600 700 800 900 1000 1500 2000 2500 3000 3500 4000
Количество узлов
- ♦ - Вре мя выполнения на GPU с использованием векторных: функции библиотеки CUBLAS
..а-..Время выполнения на GPU с использованием матричных функций библиотеки CUBLAS
—•—Время выполнения на GPU без использования функций библиотеки CUBLAS —■— Время выполнения на CPU
Рис. 3. Время выполнения алгоритма в зависимости от числа узлов сеточной области
Использование матричных функций библиотеки СиВЬЛБ нерационально, т.к. не только не даёт выигрыша во времени относительно СРи, но и приводит к дополнительным затратам памяти (при использовании функции “cublasSgemm” для вычисления матриц Ех, Ну, Нг необходимо также хранение двух единичных матриц размера (К-2)х(К-2), (К-1)х(К-1)).
4. Декомпозиция сеточной области в одномерном случае
Как уже отмечалось, существенным недостатком БЭТВ-метода является его высокая вычислительная сложность. С ростом размерности задачи и измельчением шага сетки значительно растут число арифметических операций и требования к оперативной памяти.
Для снижения вычислительных затрат в [48] было предложено использовать декомпозицию сеточной области, что позволяет искать решение системы уравнений Максвелла независимо в каждой из подобластей с согласованием на их гра-
ницах. Такой подход позволяет снизить вычислительную сложность задачи в $ раз, где
Р2
$ = -
Р - 2(Р -1)0
Р - число подобластей, О - число переот-ражений в случае неоднородной диэлектрической среды.
Начиная исследования по реализации метода декомпозиции на вРи, ограничимся для простоты одномерным случаем. В табл. 4 представлены результаты экспериментов по распространению волны (Л = 1 мкм) в свободном пространстве. В качестве параметров выбраны: протяжённость исходной области Ь1 = ЫЛ, ширина поглощающего слоя Ь = Л; дискретизация по пространству в 100 узлов на длину волны; шаг по времени такой, чтобы за т = 200 отсчётов (по времени) фронт волны в вакууме прошёл расстояние в одну длину волны; в область вводится М длин волн.
Т аблица 4. Время выполнения алгоритма (мс) при декомпозиции на D подобластей
Число подобластей, D Размер задачи (N, M)
(10, 50) (100, 500) (200, 1000) (300, 1500)
На CPU
1 250 22690 90015 200750
2 160 11770 45885 102290
3 125 8075 31120 69130
5 103 5154 19300 42330
10 85 2890 10390 23310
На GPU
1 2460 29750 49300 73848
2 2466 29620 49190 73828
3 2460 29050 49180 73270
5 2470 28510 48780 65064
10 2475 26995 43380 65061
Преимуществом рассматриваемого метода является не только уменьшение числа арифметических операций, но и экономия памяти вычислительной системы. Последний аспект особенно важен при использовании в вычислениях GPU, так как память на графическом устройстве ограничена. На GPU существует иерархия памяти, включающая регистровую (register), локальную (local memory), глобальную (global memory), разделяемую (shared memory), текстурную (texture memory) и память для констант (constant memory). Доступ к разделяемой памяти осуществляется в несколько раз быстрее, чем к глобальной, однако она доступна лишь нитям одного блока, и её размер невелик: для каждого потокового мультипроцессора в современных GPU он составляет 16 Кб [42].
Идея декомпозиции сеточной области позволяет более эффективно использовать ресурсы видеокарты путём загрузки подобласти, по которой осуществляются вычисления, в разделяемую память. Так, при вычислении задачи (10, 50) декомпозиция на 3 подобласти позволяет поместить их в разделяемую память и получить результат за 60 мс. Однако для задачи (100, 500) необходима декомпозиция уже на 33 подобласти, и время вычислений составляет 610 мс.
Отсутствие выигрыша во времени при использовании GPU в случаях, когда протяжённость исходной области не пре-
восходит 200 узлов, объясняется значительными накладными расходами на вызов ядра при небольшом объёме обрабатываемых данных (большая часть
мультипроцессоров простаивает).
Заключение
В настоящей работе векторный FDTD-алгоритм реализован с использованием технологии CUDA как с помощью функций библиотеки CUBLAS, так и с применением “CUDA runtime API”. Анализ времени выполнения задач показывает, что наиболее эффективной является реализация без использования функций библиотеки (увеличение производительности по сравнению со скалярным алгоритмом в 42,9 раза для размерности задачи 4000x4000). Запись векторных алгоритмов на GPU с использованием технологии CUDA с учётом декомпозиции сеточной области позволяет эффективно использовать ресурсы GPU, существенно сокращая время вычислений.
Благодарности
Работа выполнена при частичной финансовой поддержке Программы фундаментальных исследований Президиума РАН «Проблемы создания национальной научной распределённой информационновычислительной среды на основе развития GRID технологий и современных теле-
коммуникационных сетей», грантов РФФИ № 10-07-00553, 10-01-00453 и гранта Президента РФ № НШ-7414.2010.9.
Библиографический список
1. Методы компьютерной оптики [Текст] / под ред. В.А. Сойфера; 2-е изд., перераб.) - М: Физматлит, 2003. - 688 с.
2. Дифракционная компьютерная оптика [Текст] / под ред. В.А. Сойфера. -М: Физматлит, 2007. - 736 с.
3. Казанский, Н.Л. 70 лет профессору Иосифу Норайровичу Сисакяну [Текст] / Н.Л. Казанский // Вест. Самар. гос. аэрокосм. ун. - 2008. - № 2(15). -С. 9-34.
4. Казанский, Н.Л. Исследовательский комплекс для решения задач компьютерной оптики [Текст] / Н.Л. Казанский // Компьютерная оптика. - 2006. - № 29. -С. 58-77.
5. Pavelyev, V.S. Diffractive
Microoptics for Technological IR-Lasers [Text] / V.S. Pavelyev, V.A. Soifer, V.I. Konov, V.V. Kononenko, A.V. Volkov // in book: “High-Power and Femtosecond Lasers: Properties, Materials and Applications” / Editors: Paul-Henri Barret and Michael Palmer. - Nova Science Publishers, Inc., 2009. - P. 125-158.
6. Казанский, Н.Л. Формирование оптического микрорельефа во внеэлек-тродной плазме газового разряда [Текст] / Н.Л. Казанский, В. А. Колпаков. - М.: Радио и связь, 2009. - 220 с.
7. Kazanskiy, N.L. Computer-aided design of diffractive optical elements [Text] / N.L. Kazanskiy, V.V. Kotlyar, V.A. Soifer // Optical Engineering. - 1994. - Vol. 33, N 10.
- Р.3156-3166.
8. Soifer, V.A. Iterative methods for diffractive optical elements computation [Text] / V.A. Soifer, V.V. Kotlyar, L.L. Do-skolovich. - London: Taylor and Francis, 1997. - 250 p.
9. Голуб, М.А. Вычислительный эксперимент с элементами плоской оптики [Текст] / М. А. Голуб, Н.Л. Казанский, И.Н. Сисакян, В. А. Сойфер // Автометрия.
- 1988. - № 1. - С. 70-82.
10. Казанский, Н.Л. Математическое моделирование оптических систем [Текст] / Н.Л. Казанский. - Самара: СГАУ,
2005. - 240 с.
11. Волков, А.В. Изготовление и
экспериментальное исследование фокуса-торов в кольцо и в две точки [Текст] / А.В. Волков, Н.Л. Казанский,
Г.В. Успленьев // Компьютерная оптика. -
1999. - № 19. - С. 132-136.
12. Волков, А.В. Экспериментальное исследование светотехнических устройств с ДОЭ [Текст] / А.В. Волков, Н.Л. Казанский, Г.В. Успленьев // Компьютерная оптика. - 1999. - № 19. - С. 137-142.
13. Волков, А.В. Создание и иссле-
дование бинарных фокусаторов для мощного ND-YAG лазера [Текст] /
А.В. Волков, Л. Л. Досколович,
Н.Л. Казанский, Г.В. Успленьев,
А. Занелли // Компьютерная оптика. -
2000. - № 20. - С. 84-89.
14. Doskolovich, L.L. Design and investigation of color séparation diffraction gratings [Text] / L.L. Doskolovich, N.L. Kazanskiy, S.N. Khonina, R.V. Skidanov, N. Heikkila, S. Siitonen, and J. Turunen // Applied Optics. - 2007. - Vol. 46, N 15. -Р. 2825-2830.
15. Скиданов, Р.В. Оптическая микроманипуляция с использованием микровзрывов частиц полистирола [Текст] / Р.В. Скиданов, А.А. Морозов // Компьютерная оптика. - 2010. - Т. 34, № 3. -С. 302-307.
16. Doskolovich, L.L. Focusators for laser-branding [Text] / L.L. Doskolovich, N.L. Kazanskiy, S.I. Kharitonov, G.V. Us-plenjev // Optics and Lasers in Engineering.
- 1991. - Vol. 15, N 5. - P. 311-322.
17. Казанский, Н.Л. Формирование требуемого энергетического воздействия при лазерной обработке материалов с применением фокусаторов излучения [Текст] / Н.Л. Казанский, С.П. Мурзин, С.Ю. Клочков // Компьютерная оптика. - 2005. -№ 28. - С. 89-93.
18. Казанский, Н.Л. Применение фокусаторов излучения при формировании нанопористых структур твердокри-
сталлических материалов [Текст] /
Н.Л. Казанский, С.П. Мурзин, В.И. Трегуб, А.В. Меженин // Компьютерная оптика. -2007. - Т. 31, № 2. - С. 48-51.
19. Казанский, Н.Л. Формирование лазерного излучения для создания нано-размерных пористых структур материалов [Текст] / Н.Л. Казанский, С.П. Мурзин, А.В. Меженин, Е.Л. Осетров // Компьютерная оптика. - 2008. - Т. 32, № 3. -
С. 246-248.
20. Karpeev, S.V. Fibre sensors based on transverse mode selection [Text] / S.V. Karpeev, V.S. Pavelyev, S.N. Khonina, N.L. Kazanskiy, A.V. Gavrilov, V.A. Ero-polov // Journal of Modern Optics. - 2007. -Vol. 54, N 6. - Р. 833-844.
21. Коронкевич, В.П. Лазерные ин-
терферометрические и дифракционные системы [Текст] / В.П. Коронкевич,
A.Г. Полещук, А.Г. Седухин, Г.А. Ленкова // Компьютерная оптика. - 2010. - Т. 34, № 1. - С. 4-23.
22. Shiono, T. Planar-optic-disk pickup with diffractive micro-optics [Text] / T. Shiono, T. Ogawa // Applied Optics. -1994. - Vol. 33, N 31. - Р. 7350-7355.
23. Сойфер, В.А. Нанофотоника и дифракционная оптика [Текст] / В.А. Сойфер // Компьютерная оптика. - 2008. -Т. 32, № 2. - С. 110-118.
24. Сойфер, В.А. Дифракционные
оптические элементы в устройствах нано-фотоники [Текст] / В.А. Сойфер,
B.В. Котляр, Л. Л. Досколович // Компьютерная оптика. - 2009. - Т. 33, № 4 -
C. 352-368.
25. Котляр, В.В. Численное решение уравнений Максвелла в задачах дифракционной оптики [Текст] / В.В. Котляр // Компьютерная оптика. - 2006. - Вып. 29.
- С. 24-40.
26. Yee, K.S. Numerical solution of initial boundary value problems involving Maxwell’s equations in isotropic media [Text] / K.S. Yee // IEEE Trans. Antennas Propag., 1966. - AP-14. - Р. 302-307.
27. Taflove, A. Computational Electrodynamics: The Finite-Difference TimeDomain Method: 2nd. ed. [Text] /
A. Taflove, S. Hagness - Boston:Arthech House Publishers, 2000. - 852 p.
28. Judkins, J.B. Finite-difference time-domain modeling of nonperfectly conducting metallic thin-film gratings [Text] / J.B. Judkins and R.W. Ziolkowski // J. Opt. Soc. Am. A. - 1995. - Vol. 12, N 9. -Р. 1974-1983.
29. Головашкин, Д.Л. Моделирование волноводного распространения оптического излучения в рамках электромагнитной теории [Текст] / Д. Л. Головашкин,
A. А. Дегтярёв, В.А. Сойфер // Компьютерная оптика. - 1997. - Вып. 17. - С. 5-9.
30. Prather, DW. Formulation and application of the finite-difference time-domain method for the analysis of axially symmetric diffractive optical elements [Text] / Dennis W. Prather and Shouyuan Shi // J. Opt. Soc. Am. A. - 1999. - Vol. 16, N 5. - Р. 11311142.
31. Mirotznik, M.S. Three-Dimensional Analysis of Subwavelength Diffractive Optical Elements with the Finite-Difference Time-Domain Method [Text] / Mark S. Mirotznik, Dennis W. Prather, Joseph N. Mait, William A. Beck, Shouyuan Shi, and Xiang Gao // Applied Optics. - 2000. -Vol. 39, N 17. - Р. 2871-2880.
32. Головашкин, Д.Л. Применение
метода конечных разностей для решения задачи дифракции Н-волны на двумерных диэлектрических решетках [Текст] /
Д. Л. Головашкин, Н.Л. Казанский,
B. Н. Сафина // Компьютерная оптика. -2003. - № 25. - С. 36-40.
33. Г оловашкин, Д. Л. Дифракция Н-волны на двумерной идеально проводящей решётке [Текст] / Д. Л. Головашкин // Математическое моделирование. - 2005.
- Т. 17, № 4. - С. 53-61.
34. Г оловашкин, Д.Л. Методика формирования падающей волны при разностном решении уравнений Максвелла. Одномерный случай [Текст] / Д.Л. Го-ловашкин, Н.Л. Казанский // Автометрия.
- 2006 - Т. 42, № 6. - С. 78-85.
35. Г оловашкин, Д. Л. Методика формирования падающей волны при разностном решении уравнений Максвелла.
Двумерный случай [Текст] / Д.Л. Го-ловашкин, Н.Л. Казанский // Автометрия.
- 2007. - Т. 43, № 6. - С. 78-88.
36. Головашкин, Д.Л. Решение задач компьютерной оптики на графических вычислительных устройствах [Текст] / Д.Л. Головашкин, Н.Л. Казанский // В кн.: «Перспективные информационные технологии для авиации и космоса (ПИТ-2010). Избранные труды Международной конференции с элементами научной школы для молодёжи». - Самара: СГАУ, 2010. -
С. 512-516.
37. Fidel, B. Hybrid ray-FDTD moving window approach to pulse propagation [Text] / B. Fidel, E. Heyman, R. Kastner and R.W. Ziolkowski // Journal of Computational Physics. - 1997. - Vol. 138, Issue 2. -Р. 480-500.
38. Perlik, A.T. Predicting scattering of electromagnetic fields using FD-TD on a connection machine / A.T. Perlik, А. Taflove, T. Opsahl // IEEE Transactions on magnetic.
- 1989.- Vol. 25, N 4 - Р. 2910-2912.
39. Yu, W. Parallel Finite-Difference Time-Domain Method [Text] / W. Yu, R. Mittra, T. Su, Y. Liu, H. Yang - Boston: Arthech House Publishers, 2006. - 272 p.
40. Price, D.K. GPU-based accelerated 2D and 3d FDTD solvers [Text] / D.K. Price, J.R. Humphrey and E.J. Kelmelis - Physics and Simulation of Optoelectronic Devices XV, vol. 6468 of Proceedings of SPIE, San Jose, CA, USA, January 2007.
References
1. Methods for Computer Design of Diffractive Optical Elements / edited by Victor A. Soifer. - New York: John Wiley & Sons, Inc., 2002. - 765p.
2. Diffractive Computer Optics / edited by Victor A. Soifer. - Moscow: “Fizmat-lit” Publisher, 2007. - 736 p. - (in Russian].
3. Kazanskiy, N.L. 70th Anniversary of Professor Iosif Norairovich Sisakian / N.L. Kazanskiy // Bulletin of Samara State Aerospace University. - 2008. - N 2(15). -P. 9-34.
41. Adams, S. Finite Difference Time Domain (FDTD Simulations Using Graphics Processors [Text] / S. Adams, J. Payne, R. Boppana // Proceedings of the 2007 DoD High Performance Computing Modernization Program Users Group Conference, 2007.- Р. 334-338
42. NVIDIA: Nvidia CUDA Compute Unified Device Architecture. Programming Guide version 2.3. [Text] - 2007.
43. Valcarce, A. A GPU approach to FDTD for Radio Coverage Prediction [Text] / A. Valcarce, G. De La Roche, J. Zhang // IEEE 11th International Conference on Communication Systems, November 2008.
44. Valcarce, A. Applying FDTD to the Coverage Prediction of WiMAX Femto-cells [Text] / A. Valcarce, G. De La Roche, J. Zhang // EURASIP Journal on Wireless Communications and Networking, February 2009.
45. Борн, М. Основы оптики [Текст] / М. Борн, Э. Вольф, пер. с англ. - М.: Наука, 1973.- 720 с.
46. Голуб, Дж. Матричные вычисления [Текст] / Дж. Голуб, Ч. Ван Лоун - М.: Мир, 1999. - 548 с.
47. NVIDIA: CUBLAS Library version 2.3. [Text] - 2007.
48. Головашкин, Д.Л. Декомпозиция сеточной области при разностном решении уравнений Максвелла [Текст] / Д. Л. Г оловашкин, Н.Л. Казанский // Математическое моделирование. - 2007. -Т. 19, № 2. - С. 48-58.
4. Kazanskiy, N.L. R-D Center for Solving the Computer Optics Problems / N.L. Kazanskiy // Computer Optics. - 2006.
- N 29. - P. 58-77. - [in Russian].
5. Pavelyev, V.S. Diffractive Microoptics for Technological IR-Lasers / V.S. Pavelyev, V.A. Soifer, V.I. Konov, V.V. Kononenko, A.V. Volkov // in book: “High-Power and Femtosecond Lasers: Properties, Materials and Applications”, Editors: Paul-Henri Barret and Michael Palmer.
- Nova Science Publishers, Inc., 2009. -P. 125-158.
6. Kazanskiy, N.L. Optical Microrelief Forming in Outside-Electrode Plasma of High-Voltage Gas Discharge / N.L. Kazanskiy, V.A. Kolpakov. - Moscow: “Radio & Svyaz” Publisher, 2009. - 220 p. - [in Russian].
7. Kazanskiy, N.L. Computer-aided design of diffractive optical elements / N.L. Kazanskiy, V.V. Kotlyar, V.A. Soifer // Optical Engineering. - 1994. - Vol. 33, N 10.
- P. 3156-3166.
8. Soifer, V.A. Iterative methods for diffractive optical elements computation / V.A. Soifer, V.V. Kotlyar, L.L. Doskolovich.
- London: Taylor and Francis, 1997. - 250 p.
9. Golub, M.A. Computational experiment with plane optical elements / M.A. Golub, N.L. Kazanskii, I.N. Sisakyan, V.A. Soifer // Optoelectronics, Instrumentation and Data Processing. - Allerton Press, 1988. - N 1. - P. 78-89.
10. Kazanskiy, N.L. Mathematical Simulation of Optical Systems / N.L. Kazanskiy. - Samara: “SSAU” Publisher, 2005.
- 240 p. - [in Russian].
11. Volkov, A.V. Fabricating and Testing Diffractive Optical Elements Focusing into a Ring and into a Twin-Spot /
A.V. Volkov, N.L. Kazanskiy, G.V. Usple-niev // Computer Optics. - 1999. - N 19. -P. 132-136. - [in Russian].
12. Volkov, A.V. Investigation of Lighting Devices Based on Diffractive Optical Elements / A.V. Volkov, N.L. Kazanskiy, G.V. Uspleniev // Computer Optics. - 1999.-N 19.- P. 137-142. - [in Russian].
13. Volkov, A.V. Design and Testing Binary Focusers for High-Power ND-YAG-Laser / A.V. Volkov, L.L. Doskolovich, N.L. Kazanskiy, G.V. Uspleniev, A. Zanelli // Computer Optics. - 2000. - N 20. - P. 84-89.
- [in Russian].
14. Doskolovich, L.L. Design and investigation of color separation diffraction gratings / L.L. Doskolovich, N.L. Kazanskiy, S.N. Khonina, R.V. Skidanov, N. Heikkila, S. Siitonen, and J. Turunen // Applied Optics.
- 2007. - Vol. 46, N 15. - P. 2825-2830.
15. Skidanov, R.V. Optical Micromanipulation with Employment of Microblasts of Microparticles of Polystyrene /
R.V. Skidanov, A.A. Morozov // Computer Optics. - 2010. - Vol. 34, N 3. - P. 302-307.
- [in Russian].
16. Doskolovich, L.L. Focusators for laser-branding / L.L. Doskolovich, N.L. Kazanskiy, S.I. Kharitonov, G.V. Usplenjev // Optics and Lasers in Engineering. - 1991. -Vol. 15, N 5. - P. 311-322.
17. Kazanskiy, N.L. Formation of the Desired Energy Impact During Laser Processing of Materials Using the Radiation Fo-cusers / N.L. Kazanskiy, S.P. Murzin,
S.Yu. Klochkov // Computer Optics. - 2005.
- Vol. 28. - P. 89-93. - [in Russian].
18. Kazanskiy, N.L. Application of the Radiation Focusers During the Formation of Nanoporous Structures of Solid-Crystalline Materials / N.L. Kazanskiy, S.P. Murzin, V.I. Tregub, A.V. Mezhenin // Computer Optics. - 2007. - Vol. 31, N 2. - P. 48-51. - [in Russian].
19. Kazanskiy, N.L. Laser Radiation Formation for Creation Nanodimentional Porous Structures of Materials / N.L. Kazanskiy, S.P. Murzin, A.V. Mezhenin, E.L. Osetrov // Computer Optics. - 2008. -Vol. 32, N 3. - P. 246-248. - [in Russian].
20. Karpeev, S.V. Fibre sensors based on transverse mode selection / S.V. Karpeev, V.S. Pavelyev, S.N. Khonina, N.L. Kazanskiy, A.V. Gavrilov, V.A. Eropolov // Journal of Modern Optics. - 2007. - Vol. 54, No. 6. - P. 833-844.
21. Koronkevich, V.P. Laser Interfero-metric and Diffractive Systems / V.P. Ko-ronkevich, A.G. Poleschuk, A.G. Sedukhin, G.A. Lenkova // Computer Optics. - 2010. -Vol. 34, N 1. - P. 4-23. - [in Russian].
22. Shiono, T. Planar-optic-disk pickup with diffractive micro-optics / T. Shiono, T. Ogawa // Applied Optics. - 1994. -Vol. 33, N 31. - P. 7350-7355.
23. Soifer, V.A. Nanophotonics and Diffractive Optics / V.A. Soifer // Computer Optics. - 2008. - Vol. 32, N 2. - P. 110-118.
- [in Russian].
24. Soifer, V.A. Diffractive Optical Elements in Nanophotonic Devices / V.A. Soifer, V.V. Kotlyar, L.L. Doskolovich
// Computer Optics. - 2009. - Vol. 33, N 4. -P. 352-368. - [in Russian].
25. Kotlyar, V.V. Numerical Solution of Maxwell’s Equations in the Diffractive Optics Problems / V.V. Kotlyar // Computer Optics. - 2006. - Vol. 29. - P. 24-40. - [in Russian].
26. Yee, K.S. Numerical Solution of Initial Boundary Value Problems Involving Maxwell’s Equations in Isotropic Media / K.S. Yee // IEEE Trans. Antennas Propag., 1966.- AP-14.- P. 302-307.
27. Taflove, A. Computational Electrodynamics: The Finite-Difference Time-
Domain Method: 2nd. ed. / A. Taflove,
S. Hagness - Boston: Arthech House Publishers, 2000. - 852 p.
28. Judkins, J.B. Finite-Difference Time-Domain Modeling of Nonperfectly Conducting Metallic Thin-Film Gratings / J.B. Judkins and R.W. Ziolkowski // J. Opt. Soc. Am. A. - 1995. - Vol. 12, N 9. -P. 1974-1983.
29. Golovashkin, D.L. Modeling of Waveguide Propagation of Optical Radiation in the Frame of Electromagnetic Theory /
D.L. Golovashkin, A.A. Degtyarev, V.A. Soi-fer // Computer Optics. - 1997. - Vol. 17. -P. 5-9. - [in Russian].
30. Prather, DW. Formulation and application of the finite-difference time-domain method for the analysis of axially symmetric diffractive optical elements / Dennis W. Prather and Shouyuan Shi // J. Opt. Soc. Am. A.
- 1999. - Vol. 16, N 5. - P. 1131-1142.
31. Mirotznik, M.S. Three-
Dimensional Analysis of Subwavelength Diffractive Optical Elements with the Finite-Difference Time-Domain Method / Mark
S. Mirotznik, Dennis W. Prather, Joseph N. Mait, William A. Beck, Shouyuan Shi, and Xiang Gao // Applied Optics. - 2000. -Vol. 39, N 17. - P. 2871-2880.
32. Golovashkin, D.L. Using the Fi-nite-Difference Method for Solving the Problem of H-Wave Diffraction with TwoDimensional Dielectric Gratings /
D.L. Golovashkin, N.L. Kazanskiy, V.N. Safina // Computer Optics. - 2003. - Vol. 25. -P. 36-40. - [in Russian].
33. Golovashkin, D.L. Diffraction of TE-wave on two-dimension ideal comducte gread / D.L. Golovashkin // Mathematical Modeling. - 2005. - Vol. 17, N 4. - P. 53-61.
- [in Russian].
34. Golovashkin, D.L. Incident Wave
Source Conditions for the Finite-Difference Time-Domain Metod: One-Domensional
Formulation / D.L. Golovashkin, N.L. Kazanskiy // Optoelectronics, Instrumentation and Data Processing, Allerton Press Inc. -
2006. - Vol. 42, N 6. - P. 78-85.
35. Golovashkin, D.L. Incident Wave
Source Conditions for the Finite-Difference Time-Domain Metod: Two-Domensional
Formulation / D.L. Golovashkin, N.L. Kazanskiy // Optoelectronics, Instrumentation and Data Processing, Allerton Press Inc. -
2007. - Vol. 43, N 6. - P. 547-555.
36. Golovashkin, D.L. Solving Problems of Computer Optics on Graphical Computing Devices / D.L. Golovashkin, N.L. Kazanskiy // in book: «Advantage Information Technologies for Aviation and Space (AIT-2010). Selected Papers of the International Conference with Elements of a Scientific School for Young People». - Samara: “SSAU” Publisher, 2010. - P. 512-516. - [in Russian].
37. Fidel, B. Hybrid ray-FDTD moving window approach to pulse propagation /
B. Fidel, E. Heyman, R. Kastner and R.W. Ziolkowski // Journal of Computational Physics. - 1997. - Vol. 138, Issue 2. -P. 480-500.
38. Perlik, A.T. Predicting scattering of electromagnetic fields using FD-TD on a connection machine / A.T. Perlik, A. Taflove, T. Opsahl // IEEE Transactions on magnetic.
- 1989.- Vol. 25, N 4. - P. 2910-2912.
39. Yu, W. Parallel Finite-Difference Time-Domain Method / W. Yu, R. Mittra, T. Su, Y. Liu, H. Yang - Boston: Arthech House Publishers, 2006. - 272 p.
40. Price, D.K. GPU-based accelerated 2D and 3d FDTD solvers / D.K. Price, J.R. Humphrey and E.J. Kelmelis - Physics and Simulation of Optoelectronic Devices XV, vol. 6468 of Proceedings of SPIE, San Jose, CA, USA, January 2007.
41. Adams, S. Finite Difference Time Domain (FDTD Simulations Using Graphics Processors / S. Adams, J. Payne, R. Boppana // Proceedings of the 2007 DoD High Performance Computing Modernization Program Users Group Conference, 2007. -P. 334-338
42. NVIDIA: Nvidia CUDA Compute Unified Device Architecture. Programming Guide version 2.3. - 2007.
43. Valcarce, A. A GPU approach to FDTD for Radio Coverage Prediction / A. Valcarce, G. De La Roche, J. Zhang // IEEE 11th International Conference on Communication Systems, November 2008.
44. Valcarce, A. Applying FDTD to the Coverage Prediction of WiMAX Femto-
cells / A. Valcarce, G. De La Roche, J. Zhang // EURASIP Journal on Wireless Communications and Networking, February 2009.
45. Born, М. Principles of Optics / M. Born, E. Wolf. Fourth edition. - “Pergamon Press” Publisher, 1968. - 720 p.
46. Golub, G. Matrix Computations / G. Golub, C. Van Loan - Moscow: “Mir” Publisher, 1999. - 548 p. - [in Russian].
47. NVIDIA: CUBLAS Library version 2.3. - 2007.
48. Golovashkin, D.L. Mesh Domain Decomposition in the Finite-Difference Solution of Maxwell’s Equations /
D.L. Golovashkin, N.L. Kazanskiy // Mathematical Modeling. - 2007. - Vol. 19, N 2. - P. 48-58. - [in Russian].
IMPLEMENTATION OF FDTD-METHOD BY MEANS OF CUDA-TECHNOLOGY
© 2010 D.L. Golovashkin2, SA. Malysheva1
!Samara State Aerospace University named after academician S.P. Korolyov
(National Research University)
2Image Processing Systems Institute of the Russian Academy of Sciences
This paper deals with the implementation of the vector FDTD-method for solving of combined Maxwell’s equations on GPU. The implementation of the algorithm for two-dimensional problem on graphics processor NVIDIA GeForce GT 240 using CUDA-technology demonstrates computational speedup in 42.9 times as against with computations has been made on central processor Intel Core Duo E6500. The future prospects of mesh domain decomposition application are considered in this article for the implementation of the vector FDTD-method on GPU.
Maxwell’s equations, FDTD, GPU, CUDA, vector algorithm, mesh domain decomposition.
Информация об авторах
Г оловашкин Димитрий Львович, доктор физико-математических наук, профессор, ведущий научный сотрудник. Институт систем обработки изображений РАН. Область научных интересов: FDTD-метод, векторные и матричные вычисления, математическое моделирование оптических элементов и устройств нанофтоники. E-mail: dimitriy@smr.ru.
Малышева Светлана Александровна, студент. Самарский государственный аэрокосмический университет имени академика С.П. Королева (национальный исследовательский университет). Область научных интересов: FDTD-метод, векторные и матричные вычисления, CUDA. E-mail: s-a-mal @ yandex.ru.
Golovashkin Dimitriy Lvovich, doctor of physical and mathematical sciences, professor, senior researcher. Image Processing Systems Institute of the Russian Academy of Sci-
ences. Area of research: FDTD-method, vector and matrix computations, mathematical modeling optical elements and devices of nanophotonics. E-mail: dimitriy@smr.ru.
Malysheva Svetlana Alexandrovna, student. Samara State Aerospace University named after academician S. P. Korolyov (National Research University). Area of research: FDTD-method, vector and matrix computations, CUDA. E-mail: s-a-mal @ yandex.ru.