<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">GEP</journal-id><journal-title-group><journal-title>Journal of Geoscience and Environment Protection</journal-title></journal-title-group><issn pub-type="epub">2327-4336</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/gep.2023.113019</article-id><article-id pub-id-type="publisher-id">GEP-124147</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Earth&amp;Environmental Sciences</subject></subj-group></article-categories><title-group><article-title>
 
 
  A Rayleigh Wave Globally Optimal Full Waveform Inversion Framework Based on GPU Parallel Computing
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Zhao</surname><given-names>Le</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Wei</surname><given-names>Zhang</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Xin</surname><given-names>Rong</given-names></name><xref ref-type="aff" rid="aff3"><sup>3</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Yiming</surname><given-names>Wang</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Wentao</surname><given-names>Jin</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Zhengxuan</surname><given-names>Cao</given-names></name><xref ref-type="aff" rid="aff3"><sup>3</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>School of Geophysics and Geomatics, China University of Geosciences, Wuhan, China</addr-line></aff><aff id="aff2"><addr-line>Wuhan Geo-Detection Technology Co., Ltd., Wuhan, China</addr-line></aff><aff id="aff3"><addr-line>Zhejiang Design Institute of Water Conservancy &amp;amp; Hydro-Electric Power Co., Ltd., Hangzhou, China</addr-line></aff><pub-date pub-type="epub"><day>13</day><month>03</month><year>2023</year></pub-date><volume>11</volume><issue>03</issue><fpage>327</fpage><lpage>338</lpage><history><date date-type="received"><day>8,</day>	<month>March</month>	<year>2023</year></date><date date-type="rev-recd"><day>28,</day>	<month>March</month>	<year>2023</year>	</date><date date-type="accepted"><day>31,</day>	<month>March</month>	<year>2023</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  
    Conventional gradient-based full waveform inversion (FWI) is a local optimization, which is highly dependent on the initial model and prone to trapping in local minima. Globally optimal FWI that can overcome this limitation is particularly attractive, but is currently limited by the huge amount of calculation. In this paper, we propose a globally optimal FWI framework based on GPU parallel computing, which greatly improves the efficiency, and is expected to make globally optimal FWI more widely used. In this framework, we simplify and recombine the model parameters, and optimize the model iteratively. Each iteration contains hundreds of individuals, each individual is independent of the other, and each individual contains forward modeling and cost function calculation. The framework is suitable for a variety of globally optimal algorithms, and we test the framework with particle swarm optimization algorithm for example. Both the synthetic and field examples achieve good results, indicating the effectiveness of the framework. 
  
 
</p></abstract><kwd-group><kwd>Full Waveform Inversion</kwd><kwd> Finite-Difference Method</kwd><kwd> Globally Optimal Framework</kwd><kwd> GPU Parallel Computing</kwd><kwd> Particle Swarm Optimization</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Rayleigh wave exploration is a very useful geophysical method, it has very high resolution in near-surface exploration (Socco et al., 2010). Multi-channel analysis of surface waves (MASW) is the most widely used method in surface wave exploration (Xia et al., 1999). The main idea of MASW is extracting dispersion curve manually, and getting the local 1D S-wave velocity profiles by dispersion curve inversion. The dispersion curve extracting is highly dependent on subjective judgement and experience. When geological conditions are complex, energy mixing and pseudo multi-mode may happen (Zhang, 2011), it’s difficult to extract accurate dispersion curve manually. In addition, because the theoretical dispersion curve is based on the assumption of 1D flat layered model (Knopoff, 1964), dispersion curve inversion can only solve the problem of horizontal layered media, which is often not the case in real strata.</p><p>Full waveform inversion (FWI) in time-domain (Tarantola, 1984) and FWI in frequency-domain (Pratt, 1990) were proposed successively to solve complicated geological issues. Since FWI does not need to extract dispersion curve manually and has no restriction on the distribution of media, it has broad application prospects and developed rapidly in recent years (Romdhane et al., 2011; Pan et al., 2018).</p><p>Forward modeling is of fundamental to FWI, Rayleigh wave simulation is mainly based on the research of Virieux (1986). The finite-difference method (FDM) is the most widely used method at present for its high efficiency and accuracy (Bohlen, 2002). Due to the huge amount of calculation of FWI, the conventional gradient-based FWI is a local optimization (Liu et al., 2017). However, compared with dispersion curve inversion, FWI has more parameters, and is more nonlinear and nonunique. Locally optimal FWI is prone to trapping in local minima, and its success greatly dependent on the initial model. Thus, globally optimal FWI that can overcome this limitation is particularly attractive (O’Neill et al., 2003).</p><p>GPU parallel computing has some applications in Rayleigh wave gradient-based FWI for getting single modeling waveform or gradient (Fang et al., 2018). However, GPU parallel computing is more suitable for a large number of independent forward modeling in globally optimal FWI. In this paper, we propose a Rayleigh wave globally optimal FWI framework based on GPU parallel computing, which is globally optimal and efficient. The framework is suitable for a variety of globally optimal algorithms, and we test our framework with particle swarm optimization algorithm (PSO) for example.</p></sec><sec id="s2"><title>2. Methodology</title><sec id="s2_1"><title>2.1. Forward Modeling Method</title><p>For the 2D isotropic media, the first-order linear partial differential equation of motion describing elastic wave propagation is as follows (Virieux, 1986):</p><p>ρ ∂ V x ∂ t = ∂ σ x x ∂ x + ∂ σ x z ∂ z ρ ∂ V z ∂ t = ∂ σ x x ∂ x + ∂ σ z z ∂ z ∂ σ x x ∂ t = ( λ + 2 μ ) ∂ V x ∂ x + λ ∂ V z ∂ z ∂ σ z z ∂ t = ( λ + 2 μ ) ∂ V z ∂ z + λ ∂ V x ∂ x ∂ σ x z ∂ t = μ ( ∂ V x ∂ z + ∂ V z ∂ x ) (1)</p><p>where V<sub>x</sub> and V<sub>z</sub> are the particle velocity vectors of x-axis and z-axis, respectively; σ<sub>xx</sub>, σ<sub>xz</sub> and σ<sub>zz</sub> are stress tensors; ρ is density; λ and μ are the first and second Lame coefficients, respectively.</p><p>The process of forward modeling by GPU parallel computing is shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>.</p></sec><sec id="s2_2"><title>2.2. PSO Inversion Method</title><p>PSO is a globally optimal algorithm inspired by a flock of birds searching for food (Kennedy &amp; Eberhart, 1995). The idea of PSO is that each particle makes the misfit to minimum according to the best position of particle misfit history (pbest) and swarm misfit history (gbest). In the PSO method, a trial model will be transformed into a series of variables, the variables to be solved are called position (x), and the position increments are called velocity (v), we update the position iteratively via Equations (2)-(5).</p><p>p b e s t i k = min { Φ ( x i j ) } , j = 1 , 2 , ⋯ , k (2)</p><p>g b e s t k = min { Φ ( x i j ) } , i = 1 , 2 , ⋯ , M ; j = 1 , 2 , ⋯ , k (3)</p><p>x i k + 1 = x i k + v i k + 1 (4)</p><p>v i k + 1 = ω v i k + a 1 r 1 ( p b e s t i k − x i k ) + a 2 r 2 ( g b e s t k − x i k ) (5)</p><p>where Φ is the objective function; i and k are the number of particle and iteration, respectively; M is the total number of particle; ω is the inertia weight, which increases exploration and avoids elitism; x i k and v i k are the position and velocity of the i<sup>th</sup> variable at the k<sup>th</sup> iteration, respectively; a 1 and a 2 are the local and global weights, respectively; r<sub>1</sub> and r<sub>2</sub> are the random numbers between 0 and 1.</p></sec></sec><sec id="s3"><title>3. Speed-Up Analysis</title><p>Due to the huge amount of calculation of FWI, the conventional FWI is mainly gradient-based. To make globally optimal FWI more widely applied, its operational efficiency must be improved. We set up four grid models (<xref ref-type="table" rid="table1">Table 1</xref>) to test the efficiency of GPU parallel computing, and their parameters are the same except for the number of blocks. Where ∆x and ∆z are the length of blocks in x-axis and z-axis, respectively; ∆t is the time interval; nx and nz are the number of blocks in x-axis and z-axis, respectively; nt is the number of time; f<sub>c</sub> is the center frequency of source; t<sub>0</sub> is the time shift of source. We use spatial 8<sup>th</sup>-order and temporal 2<sup>nd</sup>-order finite-difference method for all the grid models in this paper.</p><p>We wrote the code by MATLAB, C++, and CUDA, the MATLAB and C++ code only runs on CPU, the CUDA code runs on CPU and GPU, and their runtimes are shown in <xref ref-type="table" rid="table2">Table 2</xref>. The speed-up ratio is equal to runtime of C++ divided by runtime of CUDA, the GPU usage is the usage of GPU in CUDA computing. The results are tested on an entry-level laptop, and the CPU model is Intel Core i5-10210U, the GPU model is NVIDIA GeForce MX350, the RAM size is 16 GB.</p><p>As can be seen from the test results (<xref ref-type="table" rid="table2">Table 2</xref>), MATLAB is not suitable for globally optimal FWI because their runtimes are too long. GPU parallel computing can greatly improve computing efficiency, and the higher the GPU usage, the higher the speed-up ratio. To avoid running the GPU at full capacity, the grid model of #G3 is suitable for following computation, and readers can choose the appropriate grid model according to their own situation.</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Parameters of grid models</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Grid Model</th><th align="center" valign="middle" >∆x (m)</th><th align="center" valign="middle" >∆z (m)</th><th align="center" valign="middle" >∆t (ms)</th><th align="center" valign="middle" >nx</th><th align="center" valign="middle" >nz</th><th align="center" valign="middle" >nt</th><th align="center" valign="middle" >f<sub>c</sub> (Hz)</th><th align="center" valign="middle" >t<sub>0</sub> (ms)</th></tr></thead><tr><td align="center" valign="middle" >#G1</td><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >0.2</td><td align="center" valign="middle" >256</td><td align="center" valign="middle" >128</td><td align="center" valign="middle" >2048</td><td align="center" valign="middle" >25</td><td align="center" valign="middle" >80</td></tr><tr><td align="center" valign="middle" >#G2</td><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >0.2</td><td align="center" valign="middle" >512</td><td align="center" valign="middle" >256</td><td align="center" valign="middle" >2048</td><td align="center" valign="middle" >25</td><td align="center" valign="middle" >80</td></tr><tr><td align="center" valign="middle" >#G3</td><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >0.2</td><td align="center" valign="middle" >1024</td><td align="center" valign="middle" >512</td><td align="center" valign="middle" >2048</td><td align="center" valign="middle" >25</td><td align="center" valign="middle" >80</td></tr><tr><td align="center" valign="middle" >#G4</td><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >0.2</td><td align="center" valign="middle" >2048</td><td align="center" valign="middle" >1024</td><td align="center" valign="middle" >2048</td><td align="center" valign="middle" >25</td><td align="center" valign="middle" >80</td></tr></tbody></table></table-wrap><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Runtime of different languages and their speed-up effects</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Grid Model</th><th align="center" valign="middle" >MATLAB Time (s)</th><th align="center" valign="middle" >C++ Time (s)</th><th align="center" valign="middle" >CUDA Time (s)</th><th align="center" valign="middle" >Speed-up Ratio</th><th align="center" valign="middle" >GPU Usage</th></tr></thead><tr><td align="center" valign="middle" >#G1</td><td align="center" valign="middle" >26</td><td align="center" valign="middle" >7.4</td><td align="center" valign="middle" >1.4</td><td align="center" valign="middle" >5.29</td><td align="center" valign="middle" >23%</td></tr><tr><td align="center" valign="middle" >#G2</td><td align="center" valign="middle" >148</td><td align="center" valign="middle" >26.6</td><td align="center" valign="middle" >4.6</td><td align="center" valign="middle" >5.78</td><td align="center" valign="middle" >73%</td></tr><tr><td align="center" valign="middle" >#G3</td><td align="center" valign="middle" >882</td><td align="center" valign="middle" >98.4</td><td align="center" valign="middle" >16.4</td><td align="center" valign="middle" >6.00</td><td align="center" valign="middle" >91%</td></tr><tr><td align="center" valign="middle" >#G4</td><td align="center" valign="middle" >-</td><td align="center" valign="middle" >375.1</td><td align="center" valign="middle" >62.4</td><td align="center" valign="middle" >6.01</td><td align="center" valign="middle" >99%</td></tr></tbody></table></table-wrap><p>Additionally, GPU computing is a litter different from CPU computing in that GPU computing takes a lot of time to allocate and free variable memory. We record the runtime of different parts in <xref ref-type="table" rid="table3">Table 3</xref>, we can see that the time of memory allocation and freeing almost the same in different models. Therefore, we can further improve efficiency by allocating memory for all variables at once, and freeing memory at once after multiple forward modeling. To verify the efficiency improvement of allocating and freeing memory at once, we perform grid model of #G1 (<xref ref-type="table" rid="table1">Table 1</xref>) for multiple modeling. The results are shown in <xref ref-type="table" rid="table4">Table 4</xref>, and the efficiency improvement is obvious.</p></sec><sec id="s4"><title>4. Parameters Optimization</title><sec id="s4_1"><title>4.1. Parameters Simplification</title><p>In conventional gradient-based FWI, every grid parameter is variable, namely, the number of variable parameters in model #G1 is 256 * 128 (=nx * nz). Unlike gradient-based FWI, we greatly simplify the grid parameters by introducing number of layers (n<sub>l</sub>) and number of layer-points (n<sub>p</sub>). We take the model of 4 layers and 5 layer-points (<xref ref-type="fig" rid="fig2">Figure 2</xref>) for example. Each point in each layer has P<sub>x</sub> and P<sub>z</sub> positions, and the P<sub>x</sub> positions of the beginning and end of each layer are fixed, namely, 2n<sub>p</sub> − 2 positions per layer. Thus, the parameters include n<sub>l</sub> layer velocities and n<sub>p</sub> positions, totally, n<sub>l</sub> + (2n<sub>p</sub> − 2) * (n<sub>l</sub> − 1) parameters. Actually, the number of variable parameters is reduced from 32,768 (=256 * 128) to 28, and the inversion efficiency is greatly improved.</p><table-wrap id="table3" ><label><xref ref-type="table" rid="table3">Table 3</xref></label><caption><title> Runtime of different parts in GPU parallel forward modeling</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Grid Model</th><th align="center" valign="middle" >Memory Allocation (s)</th><th align="center" valign="middle" >Computing (s)</th><th align="center" valign="middle" >Memory Freeing (s)</th><th align="center" valign="middle" >Total Time (s)</th></tr></thead><tr><td align="center" valign="middle" >#G1</td><td align="center" valign="middle" >0.921</td><td align="center" valign="middle" >0.472</td><td align="center" valign="middle" >0.007</td><td align="center" valign="middle" >1.4</td></tr><tr><td align="center" valign="middle" >#G2</td><td align="center" valign="middle" >0.946</td><td align="center" valign="middle" >3.647</td><td align="center" valign="middle" >0.007</td><td align="center" valign="middle" >4.6</td></tr><tr><td align="center" valign="middle" >#G3</td><td align="center" valign="middle" >0.975</td><td align="center" valign="middle" >15.418</td><td align="center" valign="middle" >0.007</td><td align="center" valign="middle" >16.4</td></tr><tr><td align="center" valign="middle" >#G4</td><td align="center" valign="middle" >0.996</td><td align="center" valign="middle" >61.396</td><td align="center" valign="middle" >0.008</td><td align="center" valign="middle" >62.4</td></tr></tbody></table></table-wrap><table-wrap id="table4" ><label><xref ref-type="table" rid="table4">Table 4</xref></label><caption><title> Speed-up effect of GPU parallel in multiple forward modeling</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Modeling Times</th><th align="center" valign="middle" >C++ Time (s)</th><th align="center" valign="middle" >CUDA Time (s)</th><th align="center" valign="middle" >Speed-up Ratio</th></tr></thead><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >7.4</td><td align="center" valign="middle" >1.4</td><td align="center" valign="middle" >5.29</td></tr><tr><td align="center" valign="middle" >16</td><td align="center" valign="middle" >116.8</td><td align="center" valign="middle" >16.4</td><td align="center" valign="middle" >7.04</td></tr><tr><td align="center" valign="middle" >128</td><td align="center" valign="middle" >934.0</td><td align="center" valign="middle" >123.2</td><td align="center" valign="middle" >7.58</td></tr><tr><td align="center" valign="middle" >1024</td><td align="center" valign="middle" >7397.3</td><td align="center" valign="middle" >961.0</td><td align="center" valign="middle" >7.70</td></tr></tbody></table></table-wrap></sec><sec id="s4_2"><title>4.2. Parameters Recombination</title><p>In globally optimal FWI, we perform multiple forward modeling each iteration, and parameters are recombined to further improve efficiency. For instance, we adopt #G1 model (nx = 256, nz = 128) to perform 128 modeling at one iteration, which means the length of parameter V<sub>p</sub> is 256 * 128 * 128. As mentioned above, grid model of #G3 (nx = 1024, nz = 512) is suitable to get the maximum GPU usage in the author’s computer. Thus, the V<sub>p</sub> would be split into 8 one-dimensional vectors, and we allocate a vector of length 1024 * 512 on GPU for V<sub>p</sub>, and then perform 8 cycles of calculation.</p></sec></sec><sec id="s5"><title>5. Synthetic Examples</title><p>We test the globally optimal FWI framework with PSO algorithm (PSO-FWI) and we perform two synthetic examples to prove the validity of the framework. The 4 layers, 5 layer-points model (called #M<sub>1</sub>) is shown in <xref ref-type="fig" rid="fig3">Figure 3</xref>(a). The inversion parameters used in this paper are shown in <xref ref-type="table" rid="table5">Table 5</xref>, where M is the number of particles; N is the maximum number of iterations; #G1 is the grid model shown in <xref ref-type="table" rid="table1">Table 1</xref>; ω is inertia weight; a<sub>1</sub> and a<sub>2</sub> are the local and global weights, respectively; μ is the mutation rate.</p><p>In PSO-FWI, each particle corresponds to multiple parameters, for instance, the number of parameters for #M<sub>1</sub> is 28 (=n<sub>l</sub> + (2n<sub>p</sub> − 2) * (n<sub>l</sub> − 1)). The parameters have the corresponding value ranges, where the velocity range is from 150 to 750 m/s, the point interval (the difference from the last point) of P<sub>z</sub> is from 1 to 10 m.</p><p>The model comparison of #M<sub>1</sub> inversion is shown in <xref ref-type="fig" rid="fig3">Figure 3</xref>. The multi-channel record comparison of #M<sub>1</sub> is shown in <xref ref-type="fig" rid="fig4">Figure 4</xref>, where the nearest offset is 10 m, the receiver interval is 1 m, and the channel number is 48. The single channel record comparison of #M<sub>1</sub> is shown in <xref ref-type="fig" rid="fig5">Figure 5</xref>.</p><p>From the comparisons shown above, the inverted results are in good agreement with the true results, which proves the validity of the framework. The high efficiency is evident as the entire inversion performs 25,600 forward modeling and takes about 10 hours on a personal computer.</p></sec><sec id="s6"><title>6. Field Data Application</title><p>We acquired the field data in Hangzhou, Zhejiang Province, China, where the</p><table-wrap id="table5" ><label><xref ref-type="table" rid="table5">Table 5</xref></label><caption><title> Parameters of PSO-FWI</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Particles M</th><th align="center" valign="middle" >Iterations N</th><th align="center" valign="middle" >Grid Model</th><th align="center" valign="middle" >ω</th><th align="center" valign="middle" >a1</th><th align="center" valign="middle" >a2</th><th align="center" valign="middle" >μ</th></tr></thead><tr><td align="center" valign="middle" >128</td><td align="center" valign="middle" >200</td><td align="center" valign="middle" >#G1</td><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >0.1</td></tr></tbody></table></table-wrap><p>test area had a vast undisturbed stratum, and a loess layer covered on a mudstone layer. We used 4.5 Hz vertical geophones and a 24-channel seismograph. The geophone interval was 1 m with the nearest offset of 10 m. The number of record points was 2048, and sampling interval was 0.2 ms.</p><p>The comparison between field and inverted record is shown in <xref ref-type="fig" rid="fig6">Figure 6</xref>(a), and the corresponding residual is shown in <xref ref-type="fig" rid="fig6">Figure 6</xref>(b). We can see that the low-frequency and large-amplitude waveforms match well, while the high-frequency and small-amplitude waveforms match poorly. In field measurement, the high-frequency waves are gradually suppressed with the wave propagation, which results that the near-offset geophones have richer high-frequency components than the far-offset ones. Additionally, the high-frequency noise can’t be</p><p>avoided, which increases the difficulty of the fitting. Thus, low-frequency source is suggested to be used in field data acquisition, and low-pass filtering is essential in data processing. The comparison of inverted model and borehole is shown in <xref ref-type="fig" rid="fig7">Figure 7</xref>. They are in good agreement which demonstrates the effectiveness of the framework.</p></sec><sec id="s7"><title>7. Conclusion</title><p>In this study, we propose a globally optimal framework based on GPU parallel computing to avoid falling into local minima in Rayleigh wave FWI. We present the process of forward modeling by GPU parallel computing. The efficiency improvement of GPU parallel computing is obvious from the statistics of speed-up analysis. Parameters simplification and recombination further improve the efficiency, which is likely to make the framework more widely used. Both synthetic examples and field data application of PSO-FWI achieve good results, which demonstrate the feasibility of the framework.</p></sec><sec id="s8"><title>Acknowledgements</title><p>We deeply appreciate the teachers and friends for their thoughtful and constructive comments, which greatly improve the quality of this paper.</p></sec><sec id="s9"><title>Conflicts of Interest</title><p>The authors declare no conflicts of interest regarding the publication of this paper.</p></sec><sec id="s10"><title>Cite this paper</title><p>Le, Z., Zhang, W., Rong, X., Wang, Y. M., Jin, W. T., &amp; Cao, Z. X. (2023). A Rayleigh Wave Globally Optimal Full Waveform Inversion Framework Based on GPU Parallel Computing. Journal of Geoscience and Environment Protection, 11, 327-338. https://doi.org/10.4236/gep.2023.113019</p></sec></body><back><ref-list><title>References</title><ref id="scirp.124147-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Bohlen, T. (2002). Parallel 3-D Viscoelastic Finite-Difference Seismic Modeling. Computers &amp; Geosciences, 28, 887-899. https://doi.org/10.1016/S0098-3004(02)00006-7</mixed-citation></ref><ref id="scirp.124147-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Fang, J., Zhou, H., Zhang, Q., Chen, H., Wang, N., Sun, P., &amp; Wang, S. (2018). Effect of Surface-Related Rayleigh and Multiple Waves on Velocity Reconstruction with Time-Domain Elastic FWI. Journal of Applied Geophysics, 148, 33-43.  
https://doi.org/10.1016/j.jappgeo.2017.11.006</mixed-citation></ref><ref id="scirp.124147-ref3"><label>3</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Kennedy</surname><given-names> J.</given-names></name>,<name name-style="western"><surname> &amp; Eberhart</surname><given-names> R. C. </given-names></name>,<etal>et al</etal>. (<year>1995</year>)<article-title>. Particle Swarm Optimization</article-title><source> Proceedings of the IEEE International Conference on Neural Networks</source><volume> 4</volume>,<fpage> 1942</fpage>-<lpage>1948</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.124147-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Knopoff, L. (1964). A Matrix Method for Elastic Wave Problems. Bulletin of the Seismological Society of America, 54, 431-438. https://doi.org/10.1785/BSSA0540010431</mixed-citation></ref><ref id="scirp.124147-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Liu, Y., Teng, J., Xu, T., Badal, J., Liu, Q., &amp; Zhou, B. (2017). Effects of Conjugate Gradient Methods and Step-Length Formulas on the Multiscale Full Waveform Inversion in Time Domain: Numerical Experiments. Pure and Applied Geophysics, 174, 1983-2006.  
https://doi.org/10.1007/s00024-017-1512-3</mixed-citation></ref><ref id="scirp.124147-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">O’Neill, A., Dentith, M., &amp; List, R. (2003). Full-Waveform P-SV Reflec-tivity Inversion of Surface Waves for Shallow Engineering Applications. Exploration Geophysics, 34, 158-173. https://doi.org/10.1071/EG03158</mixed-citation></ref><ref id="scirp.124147-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Pan, Y., Gao, L., &amp; Bohlen, T. (2018). Time-Domain Full-Waveform Inversion of Rayleigh and Love Waves in Presence of Free-Surface Topography. Journal of Applied Geophysics, 152, 77-85. https://doi.org/10.1016/j.jappgeo.2018.03.006</mixed-citation></ref><ref id="scirp.124147-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Pratt, R. G. (1990). Seismic Waveform Inversion in the Frequency Domain, Part I: Theory and Verification in a Physical Scale Model. Geophysics, 64, 888-901.  
https://doi.org/10.1190/1.1444597</mixed-citation></ref><ref id="scirp.124147-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Romdhane, A., Grandjean, G., Brossier, R., Rejiba, F., Operto, S., &amp; Virieux, J. (2011). Shallow-Structure Characterization by 2D Elastic Full Waveform Inversion. Geophysics, 76, R81-R93. https://doi.org/10.1190/1.3569798</mixed-citation></ref><ref id="scirp.124147-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Socco, L. V., Foti, S., &amp; Boiero, D. (2010). Surface Wave Analysis for Building near Surface Velocity Models: Established Approaches and New Perspectives. Geophysics, 75, A83-A102. https://doi.org/10.1190/1.3479491</mixed-citation></ref><ref id="scirp.124147-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Tarantola, A. (1984). Inversion of Seismic Reflection Data in the Acoustic Approximation. Geophysics, 49, 1259-1266. https://doi.org/10.1190/1.1441754</mixed-citation></ref><ref id="scirp.124147-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Virieux, J. (1986). P-SV Wave Propagation in Heterogeneous Media: Velocity-Stress Finite-Difference Method. Geophysics, 51, 889-901. https://doi.org/10.1190/1.1442147</mixed-citation></ref><ref id="scirp.124147-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Xia, J., Miller, R. D., &amp; Park, C. B. (1999). Estimation of Near-Surface Shear-Wave Velocity by Inversion of Rayleigh Wave. Geophysics, 64, 691-700.  
https://doi.org/10.1190/1.1444578</mixed-citation></ref><ref id="scirp.124147-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Zhang, S. (2011). Effective Dispersion Curve and Pseudo Multimode Dispersion Curves for Rayleigh Wave. Journal of Earth Science, 22, 226-230.  
https://doi.org/10.1007/s12583-011-0175-8</mixed-citation></ref></ref-list></back></article>