A FFD shot domain prestack depth migration method and system
By using MPI master-slave mode and GPU parallel computing in the pre-stack depth offset calculation of gun domain domain, the inefficiency problem caused by large computing volume in the prior art is solved, and efficient processing of large-scale data and significant improvement in computing efficiency are achieved.
Patent Information
- Application Number
- CN202011095817.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-10-14
- Publication Date
- 2025-06-24
- Estimated Expiration
- 2040-10-14
AI Technical Summary
The existing pre-stack depth offset calculation method of gun domain is large in calculation, resulting in low calculation efficiency, which affects the promotion and use of the method.
The MPI master-slave mode is used to realize the depth offset before the FFD gun domain. The main process distributes tasks and monitors the slave process. Each slave process performs single-slave offset calculation, and uses GPU parallel computing to improve computing efficiency.
It realizes efficient calculation of large-scale data, significantly improves the calculation efficiency of pre-stack depth offset of FFD gun domain, and meets the needs of complex data processing in oil and gas exploration.
Smart Images

Figure CN114428347B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of high-performance computing, and particularly relates to a FFD shot-domain prestack depth migration method and system. Background Art
[0002] The research on prestack depth migration technology has been a hot topic in the global oil and gas geophysical exploration field for more than a decade. Compared with time migration, the theoretical system of prestack depth migration is more perfect and advanced. At present, the relatively ideal prestack imaging method is the wave equation imaging technology based on wavefield continuation. The wave equation prestack depth migration method can more accurately process complex wave phenomena in complex media. This is mainly because it is based on the full wave equation and uses a wavefield continuation operator that describes the propagation process of seismic waves in complex media for migration imaging. It has clear physical concepts, is potentially more robust and accurate, can naturally handle multi-path problems and focusing or caustic effects caused by velocity changes, and has good amplitude preservation characteristics. However, the computational amount of this method is much larger than that of the integral method, and the computational efficiency is relatively low, which affects the popularization and application of this method.
[0003] Shot-domain prestack depth migration is a computationally intensive and data-intensive seismic migration imaging method. In recent years, the rapidly developing GPU (Graphic Processing Unit) and its programming architecture CUDA (Computing Unified Device Architecture) provide a powerful tool for prestack depth migration calculation. At present, the seismic exploration conditions are more complex and the data volume is huge, which is an even greater challenge for the shot-domain prestack depth migration that is itself data-intensive. Therefore, how to improve the computational efficiency is an important aspect of shot-domain prestack depth migration calculation. Summary of the Invention
[0004] The purpose of the present invention is to solve the above-mentioned problems existing in the prior art, and provide a FFD shot-domain prestack depth migration method and system to achieve large-scale data calculation and improve computational efficiency.
[0005] The present invention is realized through the following technical solutions:
[0006] In the first aspect of the present invention, a FFD shot-domain prestack depth migration method is provided. The method uses the master process and slave processes in MPI to implement FFD shot-domain prestack depth migration, where the master process distributes tasks, monitors the slave processes, and statistics the calculation time of each shot, and each slave process performs single-shot migration calculation to finally obtain the FFD shot-domain prestack depth migration result.
[0007] The further improvement of the present invention lies in that the method includes:
[0008] (1) inputting shot gather data and a depth domain velocity model; the shot gather data is a three-dimensional data volume;
[0009] (2) Two-dimensional forward Fourier transform of the source wavefield and the recorded wavefield;
[0010] (3) Calculation of phase shift of reference velocity field;
[0011] (4) Two-dimensional inverse Fourier transform of source wavefield and recorded wavefield;
[0012] (5) Time shift calculation of the disturbed velocity field;
[0013] (6) Finite difference calculation of source wave field and finite difference calculation of recorded wave field;
[0014] (7) Integrate the wave fields of each frequency to obtain the migration results in the depth domain;
[0015] (8) Steps (2) to (7) are performed for each depth in turn, and finally the pre-stack depth migration result of the FFD shot domain is obtained.
[0016] A further improvement of the present invention is that steps (2) to (5) are implemented in a manner where each slave thread calculates a point of the three-dimensional data volume and multiple slave threads perform calculations in parallel.
[0017] A further improvement of the present invention is that the step (2) further includes: establishing a three-dimensional thread block;
[0018] Each slave thread corresponds to the data of a point on the three-dimensional data volume, and the entire three-dimensional thread block corresponds to the entire three-dimensional data volume.
[0019] A further improvement of the present invention is that in step (6), each slave thread is responsible for a column in a frequency slice, and NW*NY slave threads are used to perform finite differences in the X direction; and then each slave thread is responsible for a row in a frequency slice, and NW*NX slave threads are used to perform differences in the Y direction.
[0020] A second aspect of the present invention provides an FFD shot domain prestack depth migration system, the system comprising: a memory, a processor, and a computer program stored in the memory, the computer program executing the following steps when executed by the processor:
[0021] (1) inputting shot gather data and a depth domain velocity model; the shot gather data is a three-dimensional data volume;
[0022] (2) Two-dimensional forward Fourier transform of the source wavefield and the recorded wavefield;
[0023] (3) Calculation of phase shift of reference velocity field;
[0024] (4) Two-dimensional Fourier inverse transform of the source wavefield and the recorded wavefield;
[0025] (5) Time-shift calculation of the perturbed velocity field;
[0026] (6) Finite-difference calculation of the source wavefield and finite-difference calculation of the recorded wavefield;
[0027] (7) Integrate the wavefields at each frequency to obtain the migration result in the depth domain;
[0028] (8) Perform the processes of steps (2) to (7) for each depth in sequence, and finally obtain the pre-stack depth migration result in the FFD shot domain.
[0029] A further improvement of the present invention lies in that steps (2) to (5) are implemented by each slave thread calculating a point of the three-dimensional data volume, and multiple slave threads perform parallel calculations.
[0030] A further improvement of the present invention lies in that step (2) further includes: establishing a three-dimensional thread block;
[0031] Each slave thread corresponds to the data of a point on the three-dimensional data volume, and the entire three-dimensional thread block corresponds to the entire three-dimensional data volume.
[0032] A further improvement of the present invention lies in that in step (6), each slave thread is responsible for a column in a frequency slice, and at this time, NW*NY slave threads are used for finite-difference in the X direction; then each slave thread is responsible for a row in a frequency slice, and at this time, NW*NX slave threads are used for difference in the Y direction.
[0033] In the third aspect of the present invention, a computer-readable storage medium is provided. The computer-readable storage medium stores at least one computer-executable program. When the at least one program is executed by the computer, the computer executes the steps in the above-mentioned FFD shot domain pre-stack depth migration method.
[0034] Compared with the prior art, the beneficial effect of the present invention is that the method of the present invention can realize the calculation of large-scale data and improve the calculation efficiency of FFD shot domain pre-stack depth migration. Description of the Drawings
[0035] Figure 1 Schematic diagram of wavefield continuation;
[0036] Figure 2 Step block diagram of the method of the present invention;
[0037] Figure 3 Wavefield continuation process;
[0038] Figure 4 The first part of GPU algorithm transformation;
[0039] Figure 5 The second part: GPU algorithm transformation;
[0040] Figure 6 The algorithm structure of the GPU platform;
[0041] Figure 7 Time comparison before and after optimization. Specific implementation manners
[0042] The present invention will be further described in detail below with reference to the accompanying drawings:
[0043] The method of the present invention performs Fourier finite-difference migration calculation on the input shot gather data and the depth-domain velocity model to obtain the seismic depth-domain migration processing result.
[0044] The 3D shot-domain one-way wave equation prestack depth migration is to respectively and simultaneously perform forward and backward continuation of the wave field of each single-shot record and its corresponding source wave field by the same depth in the three-dimensional space of the interval velocity model. For each depth step of continuation, a cross-correlation operation is performed between the two (i.e., calculating the imaging condition at zero time, as shown in Equation (1)), and the image at this depth is extracted until the maximum depth of the velocity model is reached, as Figure 1 shown. Finally, the images of each shot (imaging gather) are stacked according to the imaging points to obtain the stacked section of the common-gather shot prestack migration. When implemented in the frequency-space domain, first perform wave field continuation and imaging on the wave field of each frequency within the effective wave frequency band, and then stack all the single-frequency images to obtain the image of the single-shot migration.
[0045]
[0046] In the formula: P img is the imaging wave field, Pr(x r , ω k ) is the downward continued wave field corresponding to a certain frequency ω k at the receiving point, Ps(x s , ω k ) is the downward continued wave field corresponding to a certain frequency ω k at the shot point, nω is the number of frequencies within the effective wave frequency band, and ω is the frequency change step.
[0047] The Fourier finite-difference method (FFD) is an extension of the split-step Fourier method (SSF). It adds a finite-difference compensation term, enabling the frequency-space hybrid-domain migration method to adapt to strong lateral velocity variation and large-angle problems. Its wavelength extrapolation formula is as follows:
[0048]
[0049] Among them, U is the upward wave, ω is the frequency, c is the constant velocity, and v is the velocity.
[0050] (1) Phase shift term
[0051]
[0052] Wherein: K is the wave number.
[0053] Equation (3) is the Fourier transform of the seismic wave field at a certain depth with respect to x and y.
[0054]
[0055] Wherein:
[0056] Equation (4) is the phase shift migration formula. It is accurate only for a constant velocity medium or a medium with velocity varying with depth.
[0057] (2) Time shift term
[0058]
[0059] Wherein:
[0060] The above equation is the inverse Fourier transform of the seismic wave field at a certain depth with respect to x and y.
[0061]
[0062] Wherein:
[0063] Equation (6) is obviously a time shift term. Its function is to correct the time difference caused by lateral velocity variation, that is, to handle the refraction effect.
[0064] (3) ω-X-Y domain finite difference compensation term
[0065]
[0066] Difference equation in three-dimensional ω-X-Y domain:
[0067]
[0068] Wherein:
[0069] Cascaded solution of equations (4), (6) and (8) can perform wave field extrapolation under any velocity distribution. All the above formulas are existing, and the meanings of each formula will not be elaborated.
[0070] Figure 2 is the parallel structure of pre-stack depth migration by shot domain FFD. From Figure 2As can be seen, the pre-stack depth migration of the gun domain in the present invention adopts the MPI master-slave mode dynamic load balancing parallel strategy for gun domain parallel computing: the master process distributes tasks, monitors slave processes, and statistics the computing time of each gun; the slave processes perform single-gun migration computing, and the single-gun migration computing includes wave field continuation (extrapolation) and imaging processing. The communication methods between the master process and the slave processes in the MPI master-slave mode are all prior arts and will not be elaborated here.
[0071] As Figure 3 shown, the process of traditional wave field continuation (extrapolation) and imaging processing includes the following 6 steps:
[0072] ① Forward Fourier transform to convert the up-going wave field in the spatial domain to the wavenumber domain;
[0073] ② Perform phase shift processing on all frequencies and wavenumbers in the wavenumber domain to obtain the phase-shifted wave field data;
[0074] ③ Inverse Fourier transform to transform the phase-shifted wave field data back to the spatial-frequency domain;
[0075] ④ Perform time shift processing in the spatial-frequency domain;
[0076] ⑤ Perform finite difference calculation of the source wave field and finite difference calculation of the recording wave field in the spatial-frequency domain;
[0077] ⑥ Integrate the wave fields of each frequency to obtain the migration result in the depth domain.
[0078] The above 6 steps are the steps of the traditional pre-stack depth migration method in the gun domain, which can be completed using the formulas given above and will not be elaborated here.
[0079] In the above 6 steps, there are a total of 2 forward Fourier transforms, 2 inverse Fourier transforms, 1 phase shift, 1 time shift, 2 finite difference calculations, and 1 parallel reduction. These operations can be performed simultaneously in a multi-threaded parallel mode.
[0080] The above process mainly has two layers of loops: the outer depth domain continuation and the inner frequency domain loop. Since GPU computing is not suitable for large loop structures, and at the same time the video memory of the GPU is limited (4Gb), the present invention changes the inner frequency domain loop structure to GPU parallel.
[0081] First, the calculation process is divided into two parts: ①-④ is the first part of the calculation, and ⑤ is the second part of the calculation. This is because the correlations of these two parts of data are different. The first part of the data is independent and has no correlation; the second part of the finite difference is solved using implicit equations, and the data has partial correlations and cannot be completely decoupled.
[0082] Secondly, threads are allocated according to the three - level hierarchical structure of GPU threads. For the first block of calculation, in the present invention, each thread calculates a point of the three - dimensional data volume, and multi - thread parallel calculation is performed. In this way, the original frequency - slice cyclic calculation is changed to the overall calculation of all data: a three - dimensional thread block is established, each thread corresponds to the data of a point, and the entire three - dimensional thread block corresponds to the three - dimensional data volume, improving the parallelism, as Figure 4 shown.
[0083] For the second block of calculation, the data in each frequency slice needs to perform differences along the X and Y directions respectively. Therefore, the present invention adopts the following processing method: First, each thread is responsible for a column in a frequency slice. At this time, NW * NY threads are needed to perform the finite difference in the X direction; then each thread is responsible for a row in a frequency slice. At this time, NW * NX threads are needed to perform the difference in the Y direction, as Figure 5 shown.
[0084] For the finite - difference calculation in step 5, the traditional method is to calculate the entire three - dimensional data volume in a cyclic manner according to the frequency slices, that is, for each frequency slice, first perform the finite difference in the x direction, and then perform the finite difference calculation in the y direction. Then, the calculation of the next frequency slice is carried out. The calculation method of the present invention is to first perform the finite - difference calculation in the x direction for the entire data volume, and then perform the finite - difference calculation in the y direction. In this way, the GPU threads can be effectively utilized, the parallelism can be increased, the data transmission and waiting can be reduced, and the efficiency can be improved.
[0085] Through the above - mentioned thread allocation, an FFD shot - domain prestack depth migration method based on GPU is established, as Figure 6 shown, Figure 6 which is the final overall calculation process of the present invention. The two - layer loop is mainly in the finite - difference calculation of the source wave field and the recording wave field. Figure 2 is the control flow of the overall program, Figure 3 is the flow of the traditional algorithm, Figure 6 is the algorithm flow after innovation in this application.
[0086] An embodiment of the method of the present invention is as follows:
[0087]
Embodiment 1
[0088] As Figure 6 shown, the method of the present invention includes:
[0089] (1) Inputting shot - gather data and a depth - domain velocity model; the shot - gather data is a three - dimensional data volume;
[0090] (2) Performing two - dimensional forward Fourier transform on the source wave field and the recording wave field, that is, the above - mentioned "① Forward Fourier transform, converting the up - going wave field in the spatial domain to the wavenumber domain";
[0091] (3) Phase shift calculation of the reference velocity field, i.e., "② Perform phase shift processing on all frequencies and wave numbers in the wave number domain to obtain the phase-shifted wave field data" above;
[0092] (4) Two-dimensional inverse Fourier transform of the source wave field and the recorded wave field, i.e., "③ Inverse Fourier transform, transform the phase-shifted wave field data back to the space-frequency domain" above;
[0093] (5) Time shift calculation of the perturbed velocity field, i.e., "④ Perform time shift processing in the space-frequency domain;" above;
[0094] (6) Finite difference calculation of the source wave field and finite difference calculation of the recorded wave field, i.e., "⑤ Perform finite difference calculation of the source wave field and finite difference calculation of the recorded wave field in the space-frequency domain" above;
[0095] (7) Correlation imaging, i.e., "⑥ Integrate the wave fields of each frequency to obtain the migration result in the depth domain" above;
[0096] (8) Perform the processing of steps (2) to (7) for each depth in sequence, and finally obtain the pre-stack depth migration result in the FFD shot domain.
[0097] Among them, in steps (2) to (5), each slave thread calculates a point of the three-dimensional data volume, and multi-threaded parallel calculation is performed. Step (2) further includes: establishing a three-dimensional thread block, each slave thread corresponding to the data of a point on the three-dimensional data volume, and the entire three-dimensional thread block corresponding to the entire three-dimensional data volume.
[0098] In step (6), each slave thread is responsible for a column in a frequency slice. At this time, NW * NY threads are used for finite difference in the X direction; then each thread is responsible for a row in a frequency slice. At this time, NW * NX threads are used for difference in the Y direction.
[0099] The present invention also provides an FFD shot domain pre-stack depth migration system. The embodiments of the system are as follows:
[0100]
Embodiment 2
[0101] The system includes: a memory, a processor, and a computer program stored on the memory. When the computer program is run by the processor, the following steps are executed:
[0102] (1) Input shot gather data and depth domain velocity model; the shot gather data is a three-dimensional data volume;
[0103] (2) Two-dimensional forward Fourier transform of the source wave field and the recorded wave field;
[0104] (3) Phase shift calculation of the reference velocity field;
[0105] (4) Two-dimensional Fourier inverse transform of the source wavefield and the recorded wavefield;
[0106] (5) Time-shift calculation of the perturbed velocity field;
[0107] (6) Finite-difference calculation of the source wavefield and finite-difference calculation of the recorded wavefield;
[0108] (7) Integrate the wavefields of each frequency to obtain the migration result in the depth domain;
[0109] (8) Perform the processing of steps (2) to (7) for each depth in sequence, and finally obtain the FFD shot-profile prestack depth migration result.
[0110] Steps (2) to (5) are implemented by using each slave thread to calculate one point of the three-dimensional data volume and adopting a multi-thread parallel calculation method.
[0111] In step (2), it further includes: establishing a three-dimensional thread block;
[0112] Each slave thread corresponds to the data of one point on the three-dimensional data volume, and the entire three-dimensional thread block corresponds to the entire three-dimensional data volume.
[0113] In step (6), each slave thread is responsible for one column in a frequency slice. At this time, NW*NY slave threads are used for finite-difference in the X direction; then each slave thread is responsible for one row in a frequency slice. At this time, NW*NX slave threads are used for finite-difference in the Y direction.
[0114] The present invention also provides a computer-readable storage medium. The embodiments of the computer-readable storage medium are as follows:
[0115]
Embodiment III
[0116] The computer-readable storage medium stores at least one computer-executable program. When the at least one program is executed by the computer, the computer executes the steps in the FFD shot-profile prestack depth migration method.
[0117] The embodiments of the application of the present invention are as follows:
[0118]
Embodiment IV
[0119] Use the actual data of a certain work area for testing, and count the calculation time before and after optimization of each step and the overall calculation time.
[0120] As Figure 7 shown, Figure 7Among them, Mp is the time for phase shift calculation, mt is the time for time shift calculation. After the FFT optimization, the calculation efficiency is increased by nearly 300 times. The efficiency of the most time-consuming finite difference calculation part is also increased by 14 times. The overall calculation efficiency is increased by 33 times, fully meeting the actual requirements.
[0121] The present invention belongs to the field of high-performance computing. In recent years, GPUs have been widely used in seismic exploration and development. At present, the high-density and large-volume oil and gas exploration and development pose a huge challenge to GPUs and seismic prestack depth migration imaging. The method of the present invention can improve the calculation efficiency of prestack depth in the shot domain, perform prestack depth migration processing on large-scale data, and provide strong support for oil and gas exploration and development.
[0122] Finally, it should be noted that the above technical solutions are only one implementation manner of the present invention. For those skilled in the art, based on the application methods and principles disclosed in the present invention, it is very easy to make various types of improvements or deformations, not limited to the methods described in the above specific implementation manners of the present invention. Therefore, the above-described manner is only preferred and does not have a restrictive meaning.
Claims
1. A FFD shot domain prestack depth migration method, characterized in that: The method uses the master process and slave processes in MPI to implement FFD shot - domain prestack depth migration, where the master process distributes tasks, monitors the slave processes, and statistics the calculation time of each shot. Each of the slave processes performs single - shot migration calculation, and finally obtains the FFD shot - domain prestack depth migration result; The method includes: (1) Inputting shot gather data and velocity model in depth domain; the shot gather data is a three - dimensional data volume; (2) Two - dimensional forward Fourier transform of source wavefield and recorded wavefield; (3) Phase - shift calculation of reference velocity field; (4) Two - dimensional inverse Fourier transform of source wavefield and recorded wavefield; (5) Time - shift calculation of perturbed velocity field; (6) Finite - difference calculation of source wavefield and finite - difference calculation of recorded wavefield; where each slave thread is responsible for a column in a frequency slice. At this time, NW * NY slave threads are used for finite - difference in the X direction; then each slave thread is responsible for a row in a frequency slice, and at this time, NW * NX slave threads are used for finite - difference in the Y direction; (7) Integrating wavefields of each frequency to obtain the migration result in depth domain; (8) Processing steps (2) to (7) for each depth in turn, and finally obtaining the FFD shot - domain prestack depth migration result.
2. The FFD shot domain prestack depth migration method according to claim 1, wherein: Steps (2) to (5) are implemented by each slave thread calculating a point of the three - dimensional data volume and multiple slave threads performing parallel calculation.
3. The FFD shot domain prestack depth migration method according to claim 2, wherein: In step (2), it further includes: establishing a three - dimensional thread block; Each slave thread corresponds to the data of a point on the three - dimensional data volume, and the entire three - dimensional thread block corresponds to the entire three - dimensional data volume.
4. An FFD shot-domain prestack depth migration system, characterized in that: The system includes: a memory, a processor, and a computer program stored on the memory. When the computer program is run by the processor, it performs the following steps: (1) Inputting shot gather data and velocity model in depth domain; the shot gather data is a three - dimensional data volume; (2) Two - dimensional forward Fourier transform of source wavefield and recorded wavefield; (3) Phase - shift calculation of reference velocity field; (4) Two - dimensional inverse Fourier transform of source wavefield and recorded wavefield; (5) Time - shift calculation of perturbed velocity field; (6) Finite - difference calculation of source wavefield and finite - difference calculation of recorded wavefield; where each slave thread is responsible for a column in a frequency slice. At this time, NW * NY slave threads are used for finite - difference in the X direction; then each slave thread is responsible for a row in a frequency slice, and at this time, NW * NX slave threads are used for finite - difference in the Y direction; (7) Integrating wavefields of each frequency to obtain the migration result in depth domain; (8) Processing steps (2) to (7) for each depth in turn, and finally obtaining the FFD shot - domain prestack depth migration result.
5. The FFD shot domain prestack depth migration system according to claim 4, characterized in that: Steps (2) to (5) are implemented by each slave thread calculating a point of the three - dimensional data volume and multiple slave threads performing parallel calculation.
6. The FFD gun domain prestack depth migration system according to claim 5, wherein: In step (2), it further includes: establishing a three - dimensional thread block; Each slave thread corresponds to the data of a point on the three - dimensional data volume, and the entire three - dimensional thread block corresponds to the entire three - dimensional data volume.
7. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores at least one computer-executable program, and when the at least one program is executed by the computer, the computer is caused to execute the steps in the FFD shot-domain prestack depth migration method according to any one of claims 1-3.