=Paper=
{{Paper
|id=Vol-1787/535-540-paper-93
|storemode=property
|title=Использование технологии OpenCL для моделирования сейсмических процессов сеточно-характеристическим методом (Applying OpenCL technology for modeling seismic processes with grid-characteristic method)
|pdfUrl=https://ceur-ws.org/Vol-1787/535-540-paper-93.pdf
|volume=Vol-1787
|authors=Andrey Ivanov,Nikolay Khokhlov
}}
==Использование технологии OpenCL для моделирования сейсмических процессов сеточно-характеристическим методом (Applying OpenCL technology for modeling seismic processes with grid-characteristic method)==
Использование технологии OpenCL
для моделирования сейсмических процессов
сеточно-характеристическим методом
А. М. Иванов, Н. И. Хохлов
Московский физико-технический институт (государственный университет)
Россия, 141701, г. Долгопрудный, Институтский пер., 9
В работе рассматривается применение технологии OpenCL для моделирования сейсмических про-
цессов. Решается двумерная задача распространения сейсмических волн. Для этого находится численное
решение волнового уравнения упругости. Решение данного уравнения находится с использованием се-
точно-характеристического метода. Он применим в случае, если система уравнений гиперболическая, а
значит, результаты данной работы применимы и к другим задачам, которые сводятся к решению гипер-
болических систем. Было произведено сравнение производительности численного метода на централь-
ном процессоре (CPU) и на графическом процессоре (GPU). На GPU тесты с использованием технологии
OpenCL сравнивались с теми же тестами с использованием технологии CUDA. Производительность ал-
горитма при использовании технологии OpenCL отличается незначительно от производительности при
использовании технологии CUDA, но OpenCL позволяет писать программы для более широкого ряда
графических устройств. Вычисления производились как с двойной точностью, так и с одинарной. По
сравнению с одним ядром центрального процессора Intel Xeon E5-2697 удалось получить ускорение в 44
раза при использовании графической карты GeForce GTX 780 Ti в вычислениях с одинарной точностью.
При этом производительность была равна 460 ГФлопсам. Для вычислений с двойной точностью наи-
большее ускорение – в 55 раз на GPU Tesla K80. Полученная производительность – 138 ГФлопс. На GPU
серии Tesla была достигнута большая производительность при расчетах с двойной точностью, на GPU
Geforce – при расчетах с одинарной точностью. Однако GPU серии Radeon показали средний результат
по сравнению с другими картами. Кроме производительности в ГФлопсах и ускорения по сравнению с
центральным процессором, для каждого графического устройства была определена доля от пиковой про-
изводительности, теоретически достижимой на данном GPU. Использование технологии OpenCL для
реализации сеточно-характеристического метода позволило задействовать до 32% от пиковой произво-
дительности графических карт, что намного больше, чем удается достичь большинству реализаций рас-
четных алгоритмов.
Ключевые слова: математическое моделирование, сеточно-характеристический метод, гиперболи-
ческие уравнения, параллельное программирование, GPU, OpenCL
Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 15-07-01931 A.
© 2016 Иванов Андрей Михайлович, Хохлов Николай Игоревич
535
1. Введение
В настоящее время существует множество задач геофизики и сейсмики, достаточно точное
решение которых может быть получено только методами математического моделирования. В
большинстве случаев для численного решения этих задач используется большое количество
вычислительных ресурсов [Petrov, Khokhlov, 2014]. С развитием технологий параллельного
программирования удается все более эффективно задействовать возможности графических уст-
ройств (GPU). Большинство работ в области численного моделирования рассматривает приме-
нение технологии CUDA [Castro et al., 2013; Khanna, 2013].
В данной работе рассматривается применение технологии OpenCL, причем эффективность
ее использования сравнивается с технологией CUDA, а также с расчетами на CPU. Рассматри-
вается сеточно-характеристический метод [Muratov, 2014] с явной схемой, который относи-
тельно просто поддается распараллеливанию.
2. Математическая модель
Для описания поведения среды использовалась модель идеального изотропного линейно-
упругого материала. Распространение сейсмических волн в упругой среде описывается сле-
дующей системой уравнений:
T ,
T = ( ) I + ( + ).
Здесь ‒ плотность среды, , ‒ параметры Ламе, T ‒ тензор напряжений, ‒ вектор
скорости. Данная система дифференциальных уравнений в частных производных описывает
состояние элементарного объёма упругого материала в приближении малых деформаций. В
двумерном случае она имеет вид:
x xx xy , y xy yy ,
t x y t x y
(1)
xx ( 2 ) x y , yy x ( 2 ) y , xy x y .
t
x y t x y t x y
Здесь vx и v y ‒ горизонтальная и вертикальная составляющие скорости частиц среды;
xx , yy , xy ‒ компоненты тензора напряжения. Систему (1) можно переписать в матричной
форме:
u p uq u q
Apq B pq 0, (2)
t x y
T
где u ‒ вектор из 5 независимых переменных u xx , yy , xy , vx , v y . Явный вид матриц
Apq , B pq представлен в [LeVeque, 2002]. Здесь и далее подразумевается суммирование по по-
вторяющимся индексам. Собственные значения матриц Apq и B pq таковы:
s1 c p , s2 cs , s3 0, s4 cs , s5 c p ,
где c p и cs ‒ скорости распространения продольных и поперечных волн в среде.
536
3. Численный метод
Применяя покоординатное расщепление, можно свести задачу построения разностной
схемы для системы уравнений (2), к задаче построения разностной схемы для системы вида:
u p uq
Apq 0. (3)
t x
Для гиперболической системы уравнений (3) матрицу A можно представить в виде
A RR 1 , где ‒ диагональная матрица, элементы которой — собственные значения матри-
цы A , а R ‒ матрица, состоящая из правых собственных векторов матрицы A . Введём новые
переменные: w R 1u (так называемые инварианты Римана). Тогда система уравнений (3) све-
дётся к системе из 5 независимых скалярных уравнений переноса.
Далее для каждого скалярного уравнения переноса выписывается разностная схема чис-
ленного решения, находится значение на следующем шаге wn 1 из значения на предыдущем ша-
ге wn . После этого восстанавливается решение: u n 1 Rwn 1 .
3. Тесты производительности
Графическое уст- Количество Частота, ГФлопс (SP) SP:DP ГФлопс (DP)
ройство ядер МГц
GeForce GT 640 384 900 691 24 29
GeForce GTX 480 480 1401 1345 8 168
GeForce GTX 680 1536 1006 3090 24 129
GeForce GTX 760 1152 980 2258 24 94
GeForce GTX 780 2304 863 3977 24 166
GeForce GTX 780 Ti 2880 876 5046 24 210
GeForce GTX 980 2048 1126 4612 32 144
Tesla M2070 448 1150 1030 2 515
Tesla K40m 2880 745 4291 3 1430
Tesla K80 2496 562 2806 1.5 1870
Radeon HD 7950 1792 800 2867 4 717
Radeon R9 290 2560 947 4849 8 606
Таблица 1. Характеристики графических устройств для тестовых расчетов.
Для проведения тестов производительности рассматривалась двумерная тестовая задача.
Вычисления производились на сетке с размерами 4096×4096. Выполнялось 6500 шагов по вре-
мени. В следующей таблице представлены устройства, на которых производился запуск тесто-
вой задачи.
В таблице 1 изображены характеристики графических процессоров, на которых произво-
дились тестовые расчеты. Сокращения SP и DP использованы для обозначения одинарной и
двойной точности расчетов. SP:DP – соотношение между числом операций одинарной и двой-
ной точности за такт.
537
Рис. 1. Пример решаемой задачи [Golubev,
[ 2015] – изображения сейсмических волн. Акустическое реш
реше-
ние слева и решение, основанное на физически корректных граничных условиях справа.
Тестовые расчеты были произведены на центральном процессоре и на графических уско-
рителях, производительность алгоритма с использованием технологии OpenCL сравнивалась с
производительностью
одительностью того же алгоритма написанного с использованием технологии CUDA для
GPU фирмы NVIDIA.
Рис. 2. Ускорение по сравнению с CPU Intel Xeon E5-2697
Рис. 3. Процент от пиковой производительности
Было определено ускорение сравнению с одним ядром центрального процессора (рис. 2).
Из характеристик графических устройств, представленных в таблице 1 возможно определить
процент от пиковой производительности, достижимой на каждом из GPU ((рис. 3). В дополне-
ние, была измерена реальная производительность графического процессора для нашего алг
алго-
538
ритма, результат представлен на рис. 4. На рис. 2-4
2 4 представлены результаты расчетов с дво
двой-
ной точностью. Все представленные расчеты также были выполнены с одинарной точностью
точностью.
Рис. 4. Производительность в ГФлопсах для рассматриваемого алгоритма
7. Заключение
В данной работе удалось получить ускорение по сравнению с CPU на одном графическом
устройстве – в 55 раз на GeForce GTX 780 Ti с одинарной точностью
остью и в 44 раза на Tesla K80 с
двойной точностью (рис. 2). На этих устройствах также было достигнуто и наибольшее знач
значе-
ние производительности – 460 GFLOPS и 138 GFLOPS (рис. 4).
Была продемонстрирована эффективность использования технологии OpenCL для реше-
ния такого рода задач. Также стоит заметить, что данная технология применима на более ши-
роком классе устройств, чем CUDA,
CUDA но при этом производительность отличается несуществен-
но.
Список литературы
LeVeque R. J. Finite volume methods for hyperbolic problems.
prob — Cambridgeidge university press, 2002.
— Vol. 31.
Golubev, V. I., Khokhlov, N. I., Petrov, I. B., Zhdanov, M. S., Velikhov, V. E.
E Novel Approach to Mo Mod-
elling Elastic Wavefields in Fractured Media // 77th EAGE Conference and Exhibition 2015. —
2015.
Petrov I. B., Khokhlov N. I. Modeling 3D seismic problems using high-performance
high performance computing sys-
tems // Mathematical Models and Computer Simulations. — 2014. — Vol.. 66, No. 4. — P. 342–
350.
Castro C.E., Behrens J.. Pelties C. CUDA-C implementation of the ADER-DG DG method for linear hy-
perbolic PDEs // Geoscientific Model Development Discussions. — 2013. — Vol. 80, No. 3. —
P. 3743–3786.
Khanna G. High-Precision
Precision Numerical Simulations on a CUDA GPU: Kerr Black Hole Tails // Journal
of Scientific Computing. — 2013. — Vol. 56, No. 2. — P. 366–380.
Muratov M. V., Petrov I. B., Sannikov I. V., Favorskaya A. V. Grid-characteristic
characteristic method on
unstructured tetrahedral meshes // Comput. Math. and Math. Phys. — 2014. — Vol.54, No.5. —
P. 837–847
539
Applying OpenCL technology for modeling seismic
processes with grid-characteristic method
A. M. Ivanov, N. I. Khokhlov
Moscow Institute of Physics and Technology (State University)
9, Institutskiy lane, Dolgoprudny, 141701, Russia
The paper deals with the use of OpenCL technology for modeling seismic processes. We solve the problem
of two-dimensional seismic wave propagation. We find numerical solution of elastic wave equation. To find a
solution we use grid-characteristic method. It is applicable if the system of equations is hyperbolic, and
therefore, the results of this study are applicable to other problems, which are reduced to the solution of
hyperbolic systems. We have compared the performance of a numerical method on the central processor (CPU)
and graphics processor (GPU). The GPU tests using OpenCL technology compared with the same tests using
CUDA technology. The performance of the algorithm using OpenCL technology doesn’t differ significantly
from the performance of CUDA implementation, but OpenCL allows writing programs for a wider range of
graphics devices. Calculations were carried out both with double-precision and single-precision accuracy.
Compared with the single-core CPU Intel Xeon E5-2697 we managed to get the acceleration of 44 times when
using the graphics card GeForce GTX 780 Ti with single-precision calculations. This performance was equal to
460 Gflops. For calculations with double-precision accuracy we obtained acceleration up to 55 times on the GPU
Tesla K80. The resulting performance was 138 GFlops. Greatest double-precision performance was achieved on
the Tesla series GPUs, greatest single-precision – on the Geforce GPUs. However, the Radeon GPUs show
average results when compared to other cards. Besides performance and acceleration comparisons with CPU, we
determined percentage of peak performance theoretically achievable on each graphics device. Using OpenCL
technology for the realization of grid-characteristic method allowed utilizing up to 32% of the peak performance
of the graphics card, which is much higher than can be achieved for most implementations of computational
algorithms.
Keywords: mathematical modeling, grid-characteristic, hyperbolic, parallel programming, GPU, OpenCL
The study was financially supported by RFBR as part of a research project number 15-07-01931 A.
© 2016 A. M. Ivanov, N. I. Khokhlov
540