<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="ru">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Использование технологии OpenCL для моделирования сейсмических процессов сеточно-характеристическим методом</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">А</forename><forename type="middle">М</forename><surname>Иванов</surname></persName>
						</author>
						<author>
							<persName><forename type="first">Н</forename><forename type="middle">И</forename><surname>Хохлов</surname></persName>
						</author>
						<title level="a" type="main">Использование технологии OpenCL для моделирования сейсмических процессов сеточно-характеристическим методом</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">DF5AA8A37B0E621F7613F3104623CFE8</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T13:02+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Московский физико-технический институт (государственный университет) Россия, 141701, г. Долгопрудный, Институтский пер., 9</p><p>В работе рассматривается применение технологии 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% от пиковой производительности графических карт, что намного больше, чем удается достичь большинству реализаций расчетных алгоритмов.</p><p>Ключевые слова: математическое моделирование, сеточно-характеристический метод, гиперболические уравнения, параллельное программирование, GPU, OpenCL Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 15-07-01931 A.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="ru">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Введение</head><p>В настоящее время существует множество задач геофизики и сейсмики, достаточно точное решение которых может быть получено только методами математического моделирования. В большинстве случаев для численного решения этих задач используется большое количество вычислительных ресурсов <ref type="bibr">[Petrov, Khokhlov, 2014]</ref>. С развитием технологий параллельного программирования удается все более эффективно задействовать возможности графических устройств (GPU). Большинство работ в области численного моделирования рассматривает применение технологии CUDA <ref type="bibr">[Castro et al., 2013;</ref><ref type="bibr">Khanna, 2013]</ref>.</p><p>В данной работе рассматривается применение технологии OpenCL, причем эффективность ее использования сравнивается с технологией CUDA, а также с расчетами на CPU. Рассматривается сеточно-характеристический метод <ref type="bibr">[Muratov, 2014]</ref> с явной схемой, который относительно просто поддается распараллеливанию.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Математическая модель</head><p>Для описания поведения среды использовалась модель идеального изотропного линейноупругого материала. Распространение сейсмических волн в упругой среде описывается следующей системой уравнений:</p><formula xml:id="formula_0">, = ( ) + ( + ).                          T I T Здесь  -плотность среды, ,   -параметры Ламе, T -тензор напряжений,   -вектор скорости.</formula><p>Данная система дифференциальных уравнений в частных производных описывает состояние элементарного объёма упругого материала в приближении малых деформаций. В двумерном случае она имеет вид:  </p><formula xml:id="formula_1">, ,<label>( 2 )</label></formula><formula xml:id="formula_2">                                                                               (1)</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Численный метод</head><p>Применяя покоординатное расщепление, можно задачу построения разностной схемы для системы уравнений (2), к задаче построения разностной схемы для системы вида:</p><formula xml:id="formula_3">0. p q pq u u A t x      <label>(3)</label></formula><p>Для гиперболической системы уравнений (3) матрицу A можно представить в виде 1    A R R , где  -диагональная матрица, элементы которой -собственные значения матрицы A , а R -матрица, состоящая из правых собственных векторов матрицы A . Введём новые переменные:</p><p>1   w R u (так называемые инварианты Римана). Тогда система уравнений (3) сведётся к системе из 5 независимых скалярных уравнений переноса.</p><p>Далее для каждого скалярного уравнения переноса выписывается разностная схема численного решения, находится значение на следующем шаге 1  n w из значения на предыдущем шаге n w . После этого восстанавливается решение: Для проведения тестов производительности рассматривалась двумерная тестовая задача. Вычисления производились на сетке с размерами 4096×4096. Выполнялось 6500 шагов по времени. В следующей таблице представлены устройства, на которых производился запуск тестовой задачи.</p><formula xml:id="formula_4">1 1    n n u Rw .</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Тесты производительности</head><p>В таблице 1 изображены характеристики графических процессоров, на которых производились тестовые расчеты. Сокращения SP и DP использованы для обозначения одинарной и двойной точности расчетов. SP:DP -соотношение между числом операций одинарной и двойной точности за такт. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Список литературы</head><p>LeVeque R. J. Finite volume methods for hyperbolic prob -Vol. 31. Golubev, V. I., <ref type="bibr">Khokhlov, N. I., Petrov, I. B., Zhdanov, M. S., Velikhov</ref> 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 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.</p><p>Keywords: mathematical modeling, grid-characteristic, hyperbolic, parallel programming, GPU, OpenCL</p><p>The study was financially supported by RFBR as part of a research project number 15-07-01931 A.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head></head><label></label><figDesc>Рис. 1. Пример решаемой задачи [ ние слева и решение, основанное на физически корректных граничных условиях справа.Тестовые расчеты были произведены на центральном процессоре и на графических рителях, производительность алгоритма с производительностью того же алгоритма написанного с использованием технологии GPU фирмы NVIDIA. Рис. 2. Ускорение по сравнению Рис. 3. Было определено ускорение сравнению с одним ядром центрального процессора (рис. 2). Из характеристик графических устройств, представленных в таблице 1 возможно определить процент от пиковой производительности, достижимой на каждом из ние, была измерена реальная производительность графического процессора для нашего алг [Golubev, 2015] -изображения сейсмических волн. Акустическое реш ние слева и решение, основанное на физически корректных граничных условиях справа. Тестовые расчеты были произведены на центральном процессоре и на графических рителях, производительность алгоритма с использованием технологии OpenCL одительностью того же алгоритма написанного с использованием технологии Рис. 2. Ускорение по сравнению с CPU Intel Xeon E5-2697 Рис. 3. Процент от пиковой производительности Было определено ускорение сравнению с одним ядром центрального процессора (рис. 2). Из характеристик графических устройств, представленных в таблице 1 возможно определить процент от пиковой производительности, достижимой на каждом из GPU ( ние, была измерена реальная производительность графического процессора для нашего алг изображения сейсмических волн. Акустическое решение слева и решение, основанное на физически корректных граничных условиях справа. Тестовые расчеты были произведены на центральном процессоре и на графических уско-OpenCL сравнивалась с одительностью того же алгоритма написанного с использованием технологии CUDA для Было определено ускорение сравнению с одним ядром центрального процессора (рис. 2). Из характеристик графических устройств, представленных в таблице 1 возможно определить (рис. 3). В дополнение, была измерена реальная производительность графического процессора для нашего алго-ритма, результат представлен на рис. 4. На рис. 2 ной точностью. Все представленные расчеты также Рис. 4. Производительность в ГФлопсах 7. Заключение В данной работе удалось устройстве -в 55 раз на GeForce двойной точностью (рис. 2). На этих устройствах также было достигнуто и наибольшее знач ние производительности -460 Была продемонстрирована эффективность использования технологии ния такого рода задач. Также стоит заметить, что данная технология роком классе устройств, чем CUDA но.</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_0">© 2016 A. M. Ivanov, N. I. Khokhlov</note>
		</body>
		<back>
			<div type="references">

				<listBibl/>
			</div>
		</back>
	</text>
</TEI>
