<?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="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Solving the Structural Inverse Gravimetry Problem in the Case of Multilayered Medium Using GPU</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Elena</forename><surname>Akimova</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Ural Federal University</orgName>
								<address>
									<settlement>Ekaterinburg</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
							<affiliation key="aff1">
								<orgName type="institution">Krasovskii Institute of Mathematics and Mechanics</orgName>
								<address>
									<settlement>Ekaterinburg</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Vladimir</forename><surname>Misilov</surname></persName>
							<email>v.e.misilov@urfu.ru</email>
							<affiliation key="aff0">
								<orgName type="institution">Ural Federal University</orgName>
								<address>
									<settlement>Ekaterinburg</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
							<affiliation key="aff1">
								<orgName type="institution">Krasovskii Institute of Mathematics and Mechanics</orgName>
								<address>
									<settlement>Ekaterinburg</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Murat</forename><surname>Sultanov</surname></persName>
							<email>murat.sultanov@ayu.edu.kz</email>
							<affiliation key="aff2">
								<orgName type="institution">Akhmet Yassawi International Kazakh-Turkish University</orgName>
								<address>
									<settlement>Turkistan</settlement>
									<country key="KZ">Kazakhstan</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Solving the Structural Inverse Gravimetry Problem in the Case of Multilayered Medium Using GPU</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">8DA55AB267FB94B0EBE33EED1D3619F9</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T06:01+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>
			<textClass>
				<keywords>
					<term>Inverse gravimetry problem</term>
					<term>Conjugate gradient method</term>
					<term>GPU</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>An optimized parallel algorithm is constructed for solving the nonlinear inverse gravimetry problem of finding several boundary surfaces between layers in multilayered medium. The algorithm is based on the modified nonlinear conjugate gradient method with weighting factors. The efficient implementation for GPU was developed. A model problem with synthetic gravitational data was solved.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>The problem considered in this paper is finding several interfaces between layers in a multilayered medium using known gravitational data <ref type="bibr" target="#b0">[1,</ref><ref type="bibr" target="#b1">2]</ref>. This problem is described by a nonlinear integral Fredholm equation of the first kind; so, it is ill-posed. The real gravity measurements are carried out over a large area producing the large-scale grids. Processing the gravitational data is a time consuming process and requires a lot of memory. So, it is necessary to develop parallel algorithms for parallel computing systems.</p><p>In works <ref type="bibr" target="#b2">[3,</ref><ref type="bibr" target="#b3">4]</ref>, for solving the structural gravimetry problem, efficient parallel algorithms based on the modified conjugate gradient method were proposed and implemented multicore CPUs. The modification is based on approximation of the Jacobian matrix by calculating only significant elements. This method reduces the computation time in comparison with the full calculation approach.</p><p>Here, we construct a parallel algorithm on the basis of this method and implement it for GPUs using the CUDA technology.</p><p>We compare the CPU and GPU implementations in terms of computation time in solving the model problem with synthetic gravitational data.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Statement of the Inverse Gravity Problem for the Model of Multilayered Medium</head><p>We assume that the lower half-space is composed of several layers with constant densities, which are separated by the sought surfaces S l , l = 1..L, where L is the number of boundary surfaces (see, Fig. <ref type="figure">1</ref>).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Fig. 1. Model of multilayer medium</head><p>The gravitational field due to this half-space is equal to the sum of the gravitational fields due to each surface. Let the boundary surfaces be specified by the functions z = ζ l (x, y), let the density contrasts on them be ∆σ l , and let the surfaces have the horizontal asymptotic planes z = H l . The field ∆g produced by the superposition of the boundary surfaces and measured on the Earth's surface z = 0 is found by the following equation (with accuracy up to a constant term of summation) <ref type="bibr" target="#b0">[1]</ref>:</p><formula xml:id="formula_0">f l=1..L ∆σ l ∞ −∞ ∞ −∞ 1 (x − x ) 2 + (y − y ) 2 + ζ 2 (x , y ) − − 1 (x − x ) 2 + (y − y ) 2 + ζ 2 (x , y ) dx dy = ∆g(x, y, 0), (<label>1</label></formula><formula xml:id="formula_1">)</formula><p>where f is the gravitational constant.</p><p>This equation is the Fredholm nonlinear equation of the first kind of functions ζ l and is ill-posed: it has a nonunique solution which unstably depends on the initial data.</p><p>After the discretization of equation ( <ref type="formula" target="#formula_0">1</ref>) on the rectangular grid n = M × N , where the right-hand side ∆g(x, y, 0) is given, and the approximation of the left-side integral operator A(ζ 1 , ..., ζ l ) by the quadrature rules, we obtain the vector of the right-hand side F with the length n, the combined surfaces vector</p><formula xml:id="formula_2">z = [ζ 1 (x 1 , y 1 ), ..., ζ 1 (x M , y N ), ..., ζ 2 (x 1 , y 1 ), ..., ζ 2 (x M , y N ), ..., ζ L (x M , y N )]</formula><p>with the length Ln, and the system of nonlinear equations having the form</p><formula xml:id="formula_3">A(z) = F. (<label>2</label></formula><formula xml:id="formula_4">)</formula><p>3 Algorithm for Solving the Inverse Problem</p><p>In this work, to solve problem (2), we use the approach based on the modified linearized conjugate gradient method with weighting factors <ref type="bibr" target="#b4">[5]</ref>. This method has the following form:</p><formula xml:id="formula_5">z k+1 = z k − ψ p k , S(z k ) A (z k ) − p k p k , p k = v k + β k p k−1 , p 0 = v 0 , β k = max v k , v k − v k−1 v k−1 , 0 v = γ • S(z), S(z) = A (z) * (A(z) − F ),<label>(3)</label></formula><p>where z k is the solution estimate at kth iteration, ψ is the damping factor, γ is the vector of weighting factors, A (z) is the Jacobean matrix of the discretized integral operator A(z), • is operation of componentwise vector multiplication.</p><p>In this work, we propose the following rules for selection of the weighting factors:</p><formula xml:id="formula_6">[F 1 , ..., F L ] → [f 1 , ..., f Ln ] → [γ 1 , ..., γ Ln ], F l → [γ n(l−1) , γ n(l−1)+1 , ..., γ nl ], γ l = f 2 i + µ max i=1..n { f 2 i + µ} , 0 &lt; µ &lt; 1, (<label>4</label></formula><formula xml:id="formula_7">)</formula><p>where µ is the smoothing parameter.</p><p>The fields F l are extracted from the total field F using heightwise transformation technique from <ref type="bibr" target="#b5">[6]</ref>.</p><p>The condition A(z) − F / F &lt; ε for sufficiently small ε is used as the termination criterion for the iterative process.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Numerical Implementation</head><p>In works <ref type="bibr" target="#b2">[3,</ref><ref type="bibr" target="#b3">4]</ref>, the efficient technique for reducing the computing time was proposed and implemented. The main idea is to drop out small elements and replace matrix A with the block-band matrix A as shown in Fig. <ref type="figure" target="#fig_0">2</ref>. The elements inside each square block depend on terms (x − x ) and (y − y ). Thus, the farther the matrix element is from the main diagonal of block, the less its value is. For each block, we get the bandwidth parameter 0 &lt; β l ≤ 1 by automatic adjustment procedure. First, we find the maximal element a max l of the block. To find it, we just need to look over the main diagonal of the block. Then, we set the parameter β l in such way that the resulting band matrix elements would be larger then some threshold, i.e. a ij &gt; θa max l for the threshold parameter θ. Most expensive part is calculation of the Jacobian matrix A and vector A(z k ) at each iteration. The matrix and vector are divided into a number of fragments, and each fragment is processed by its own thread. The elements of the Jacobian matrix are calculated on-the-fly, which means that the value of an element is computed when calling this element, without storing it in memory.</p><p>The adjustment of the kernel execution parameters for the grid size is an important problem. In previous works <ref type="bibr" target="#b6">[7,</ref><ref type="bibr" target="#b7">8]</ref>, we implemented the original method for automatic adjustment of parameters. For the reference 128 × 128 grid and M2090 GPUs, the optimal parameters were found manually. For the grid sizes divisible by 128, the reference parameters are multiplied by the coefficient. When using multiple GPUs, the x dimension is divided by the number of GPUs; i.e., the number of threads in the block is reduced while number of blocks in the grid remains constant.</p><p>This imposes some constraints on the input data and GPUs configuration: grid size should be divisible by 128 (128, 256, 512, 1024 ...) and GPUs number should be a power of 2 (1, 2, 4, 8, ...).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Numerical Experiments</head><p>To test the constructed modified algorithm and to compare it with the unmodified one in terms of execution time, we use the model problem of reconstructing three boundary surfaces on a large grid (512 × 512 nodes) using the quasi-real data.</p><p>The model gravitational field shown in Fig. <ref type="figure" target="#fig_1">3</ref> was obtained by solving the forward problem using three surfaces S 1 , S 2 , S 3 (see, Fig. <ref type="figure" target="#fig_2">4a</ref>) with asymprotic planes H 1 = 10km, H 2 = 20km, H 3 = 30km from work <ref type="bibr" target="#b2">[3]</ref> and density contrasts ∆σ 1 = ∆σ 2 = ∆σ 3 = 0.2g/cm 3 . This surfaces were obtained from gravity maps <ref type="bibr" target="#b8">[9]</ref> for an area of 600x600 km near Ekaterinburg, Russia.   The implementation for multiple GPU demonstrates an excellent scaling; the efficiency is more than 90% for eight GPUs.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7">Conclusion</head><p>For solving the inverse gravimetry problem of finding several boundary surfaces in multilayered medium, the parallel algorithm was constructed and implemented for multiple GPUs using the CUDA technology. The algorithm is based on the nonlinear conjugate gradient method and on the approach with weighting factors previously proposed by authors. The numerical implementation uses the modification based on approximation the Jacobian matrix by dropping out the less significant elements and to replacing the matrix by a block-band one.</p><p>The model problem of reconstructing three surfaces using the quasi-real gravitational data was solved on a large grid. The GPU implementation reduces the computation time by two orders of magnitude in comparison with CPU. The multi-GPU implementation demonstrates an excellent scaling and nearly 90% efficiency.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. Scheme of matrix structure</figDesc><graphic coords="4,169.35,278.52,276.66,103.28" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 3 .</head><label>3</label><figDesc>Fig. 3. Total gravitational field</figDesc><graphic coords="5,186.64,302.45,242.07,204.02" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 4 .</head><label>4</label><figDesc>Fig. 4. Original surfaces (a) S1, S2, S3 and reconstructed surfaces (b) S1, S2, S3(up to down)</figDesc><graphic coords="6,143.41,115.84,328.52,260.08" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head>Table 1 .</head><label>1</label><figDesc>Results of the numerical experiments</figDesc><table><row><cell>Devices</cell><cell cols="3">Computation time Tm, minutes Speedup Sm Efficiency Em</cell></row><row><cell>1× M2090</cell><cell>30</cell><cell>1</cell><cell>1</cell></row><row><cell>2× M2090</cell><cell>16</cell><cell>1.88</cell><cell>0.94</cell></row><row><cell>4× M2090</cell><cell>8</cell><cell>3.75</cell><cell>0.93</cell></row><row><cell>8× M2090</cell><cell>4.13</cell><cell>7.24</cell><cell>0.9</cell></row><row><cell>Intel Xeon E5-2650</cell><cell>480</cell><cell></cell><cell></cell></row></table></figure>
		</body>
		<back>

			<div type="funding">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>This work was financially supported by the Ministry of Education and Science of the Republic of Kazakhstan (project AP 05133873).</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Algorithms for solving the structural gravity problem in a multilayer medium</title>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">N</forename><surname>Akimova</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">S</forename><surname>Martyshko</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><forename type="middle">E</forename><surname>Misilov</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Doklady Earth Sciences</title>
		<imprint>
			<biblScope unit="volume">453</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="1278" to="1281" />
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Parallel algorithms for solving structural inverse magnetometry problem on multicore and graphigs processors</title>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">N</forename><surname>Akimova</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">S</forename><surname>Martyshko</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><forename type="middle">E</forename><surname>Misilov</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Multidisciplinary Scientific GeoConference Surveying Geology and Mining Ecology Management SGEM</title>
				<imprint>
			<date type="published" when="2014">2014. 2014</date>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="page" from="713" to="720" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Modified Conjugate Gradient Method for Solving the Nonlinear Inverse Gravimetry Problem in the Case of Multilayered Medium</title>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">N</forename><surname>Akimova</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><forename type="middle">E</forename><surname>Misilov</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">V</forename><surname>Klimov</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">18th International Multidisciplinary Scientific Geoconference SGEM</title>
				<imprint>
			<date type="published" when="2018">2018. 2018</date>
			<biblScope unit="volume">18</biblScope>
			<biblScope unit="page" from="893" to="900" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Modified parallel algorithm for solving the inverse structural gravity problem</title>
		<author>
			<persName><forename type="first">E</forename><surname>Akimova</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Misilov</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Klimov</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">17th International Conference on Geoinformatics -Theoretical and Applied Aspects</title>
				<imprint>
			<publisher>EAGE</publisher>
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Solving the structural inverse gravity problem by the modified gradient methods</title>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">S</forename><surname>Martyshko</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">N</forename><surname>Akimova</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><forename type="middle">E</forename><surname>Misilov</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Izvestiya, Physics of the Solid Earth</title>
		<imprint>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="issue">5</biblScope>
			<biblScope unit="page" from="704" to="708" />
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Studying the structural features of the lithospheric magnetic and gravity fields with the use of parallel algorithms</title>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">S</forename><surname>Martyshko</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><forename type="middle">V</forename><surname>Fedorova</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">N</forename><surname>Akimova</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">V</forename><surname>Gemaidinov</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Izvestiya, Physics of the Solid Earth</title>
		<imprint>
			<biblScope unit="volume">50</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page" from="508" to="513" />
			<date type="published" when="2014">2014</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Optimized algorithms for solving structural inverse gravimetry and magnetometry problems on GPUs</title>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">N</forename><surname>Akimova</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><forename type="middle">E</forename><surname>Misilov</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">I</forename><surname>Tretyakov</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">PCT 2017</title>
				<editor>
			<persName><forename type="first">L</forename><surname>Sokolinsky</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">M</forename><surname>Zymbler</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2017">2017</date>
			<biblScope unit="volume">753</biblScope>
			<biblScope unit="page" from="144" to="155" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Modified Componentwise Gradient Method for Solving Structural Magnetic Inverse Problem</title>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">N</forename><surname>Akimova</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><forename type="middle">E</forename><surname>Misilov</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">I</forename><surname>Tretyakov</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">PCT 2018</title>
				<editor>
			<persName><forename type="first">L</forename><surname>Sokolinsky</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">M</forename><surname>Zymbler</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2018">2018</date>
			<biblScope unit="volume">910</biblScope>
			<biblScope unit="page" from="162" to="173" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<author>
			<persName><forename type="first">S</forename><surname>Bonvalot</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Balmino</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Briais</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Kuhn</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Peyrefitte</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Vales</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Biancale</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Gabalda</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Reinquin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Sarrailh</surname></persName>
		</author>
		<title level="m">World Gravity Map. Commission for the Geological Map of the World</title>
				<meeting><address><addrLine>Paris</addrLine></address></meeting>
		<imprint>
			<publisher>BGI-CGMW-CNES-IRD</publisher>
			<date type="published" when="2012">2012</date>
		</imprint>
	</monogr>
</biblStruct>

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