Asteroid gravity field inversion method and device based on GPU acceleration
By constructing design matrix and observation equations in a graphics processor and using GPU acceleration technology to perform large-scale matrix operations, the problem of low efficiency of planetary gravity field inversion is solved, and efficient asteroid gravity field inversion is achieved.
Patent Information
- Application Number
- CN202410936431.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-12
- Publication Date
- 2025-02-11
AI Technical Summary
In the prior art, the inversion efficiency of planetary gravity field is mainly due to the slow computing speed of large higher-order matrices.
Using the GPU-accelerated asteroid gravity field inversion method, the design matrix and observation equation are constructed in the graphics processor, and the matrix multiplication, matrix inversion and matrix blocking operations are performed using cyclic tiling, cyclic expansion and CUDA technology. To achieve efficient parallel computing of large matrices.
The time required for solving medium and large matrix in the asteroid gravity field inversion is significantly shortened, and the inversion efficiency is improved.
Smart Images

Figure CN119414484A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of planetary exploration technology, and in particular to an asteroid gravity field inversion method and device based on GPU acceleration. Background Art
[0002] Planetary gravity field inversion is an important field of geophysical research. It is a means of understanding the internal structure and geological characteristics of a planet by measuring and analyzing the gravitational field on the planet's surface and surrounding environment. By collecting and analyzing ground gravity data, scientists can infer information such as the density distribution, structural characteristics, and crust thickness of the planet's interior.
[0003] Due to the existence of a large number of high-order matrices in the process of planetary gravity field inversion, the current planetary gravity field inversion operation speed is slow and the inversion efficiency is low. Summary of the invention
[0004] The present invention provides a method and device for inverting the gravity field of an asteroid based on GPU acceleration, so as to solve the defect of low efficiency of inverting the gravity field of the planet in the prior art and realize an efficient method for inverting the gravity field of an asteroid.
[0005] The present invention provides an asteroid gravity field inversion method based on GPU acceleration, comprising: Construct a design matrix based on the position, velocity and acceleration of the probe in the inertial frame; Constructing an observation equation based on a reference state of the observation quantity of the detector at any time by the deep space station; The gravity field model coefficients are obtained by solving the observation equation and the design matrix, wherein the construction of the design matrix and the observation equation and the solving process of the gravity field model coefficients are executed in a graphics processor.
[0006] According to a method for inverting asteroid gravity field based on GPU acceleration provided by the present invention, the step of constructing a design matrix according to the position, velocity and acceleration of the probe in the inertial system specifically includes: Construct a state transfer matrix based on the position, velocity and acceleration of the probe in the inertial frame; Construct a parameter sensitivity matrix based on the position, velocity, acceleration and estimated parameters of the detector in the inertial system; The design matrix is constructed according to the state transfer matrix and the parameter sensitivity matrix.
[0007] According to a method for inverting asteroid gravity field based on GPU acceleration provided by the present invention, the step of constructing an observation equation based on the reference state of the observation quantity of the probe at any time by the deep space station comprises: The observation quantity of the deep space station on the detector is expanded at the reference state at any time, and the observation partial derivative of the state quantity of the observation quantity at the initial time is obtained after ignoring the high order and linearizing; The observation quantity on the time series is constructed based on the observed partial derivative of the state quantity of the observation quantity at the initial moment, and the observation equation is obtained after weighting it based on the noise level of the observation quantity.
[0008] According to a method for inversion of an asteroid gravity field based on GPU acceleration provided by the present invention, when matrix multiplication needs to be performed during the construction of the design matrix and the observation equation and the solution of the gravity field model coefficients, a loop is replaced with an inner loop and an outer loop based on the loop tiling technology; and the three innermost loops are replaced with a single straight line code block in the graphics processor based on the loop unrolling technology.
[0009] According to a method for inverting the asteroid gravity field based on GPU acceleration provided by the present invention, when matrix inversion is required during the construction of the design matrix and the observation equation and the solution of the gravity field model coefficients, the matrix inversion is decomposed into an LU decomposition task and an LU decomposition inverse matrix calculation task based on CUDA, and dynamic memory for storing the calculation results is allocated to the LU decomposition task and the LU decomposition inverse matrix calculation task on CUDA; CUDA distributes the matrix inversion calculation to multiple graphics processors.
[0010] According to a method for inversion of asteroid gravity field based on GPU acceleration provided by the present invention, when matrix segmentation is required during the construction of the design matrix and the observation equation and the solution of the gravity field model coefficients, the matrix to be segmented is read in a memory mapping manner; Acquire resource parameters of a graphics processor and scale parameters of a matrix to be divided into blocks, and determine the number of sub-matrices obtained by dividing the matrix to be divided into blocks according to the resource parameters and the scale parameters; An inversion operation is performed on the sub-matrices obtained by the division based on a parallel algorithm, and the results of the inversion operations of all the sub-matrices are combined to obtain the inversion operation result of the matrix to be divided into blocks.
[0011] The present invention also provides an asteroid gravity field inversion device based on GPU acceleration, comprising: The present invention also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, an asteroid gravity field inversion method based on GPU acceleration as described above is implemented.
[0012] The present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the asteroid gravity field inversion method based on GPU acceleration as described above is implemented.
[0013] The present invention also provides a computer program product, comprising a computer program, which, when executed by a processor, implements any of the above-mentioned methods for inverting the asteroid gravity field based on GPU acceleration.
[0014] The asteroid gravity field inversion method and device based on GPU acceleration provided by the present invention accelerates asteroid calculations through large-matrix GPUs, effectively solving the problem of large-scale matrix solution tasks and long solution time in asteroid gravity field inversion. A large-scale matrix operation method based on multi-GPU parallelism is implemented, and the combination of GPU and CUDA can achieve high parallelization of intensive calculations, greatly shortening the time required for large-scale matrix solution in asteroid planet gravity field inversion. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] In order to more clearly illustrate the technical solutions in the present invention or the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0016] Figure 1 It is a flow chart of the asteroid gravity field inversion method based on GPU acceleration provided by the present invention; Figure 2 It is a schematic diagram of the operation of matrix multiplication in the GPU in the asteroid gravity field inversion method based on GPU acceleration provided by the present invention; Figure 3 This is a flowchart of matrix inversion in the asteroid gravity field inversion method based on GPU acceleration provided by the present invention; Figure 4 It is a structural schematic diagram of an asteroid gravity field inversion device based on GPU acceleration provided by the present invention; Figure 5 It is a structural schematic diagram of the electronic device provided by the present invention. DETAILED DESCRIPTION
[0017] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the drawings of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0018] The following combination Figures 1 to 3 The present invention describes the asteroid gravity field inversion method based on GPU acceleration, such as Figure 1 As shown, including: Step 101, constructing a design matrix according to the position, velocity and acceleration of the probe in the inertial system; The inversion of the asteroid gravity field is the solution of the potential coefficients of the asteroid gravity field model.
[0019] Specifically, when a planetary probe is flying around its central celestial body, it is affected by various forces such as the gravity of the central celestial body, where the central celestial body is the asteroid whose gravity field is to be solved.
[0020] Obtain relevant data of the probe during its flight around the central celestial body, including the position, velocity and acceleration of the probe in the inertial system, and construct the motion equation of the probe.
[0021] Based on the motion equation of the probe, a design matrix is constructed, wherein the design matrix includes multiple parameters to be estimated. The parameters to be estimated include the state parameters and physical parameters of the probe, environmental parameters, model parameters and other unknown quantities that need to be estimated. Among them, environmental parameters include solar radiation pressure, planetary gravity, etc.; model parameters include parameters used in the dynamic model, such as drag coefficient and gravity constant.
[0022] Step 102, constructing an observation equation based on the reference state of the observation quantity of the detector at any time by the deep space station; Furthermore, the Earth's deep space station tracks and measures the movement of the probe around the central celestial body, thereby obtaining observations over a period of time.
[0023] The functional relationship between the observed value of the detector over a period of time and the initial state of the detector can be expressed as: ; In the formula, Y represents the observed quantity, represents the measurement noise.
[0024] Based on the reference state at any time t X The result of expanding at 0 is used to construct the observation equation for a time series of observations obtained over a period of time.
[0025] Step 103, obtaining the potential coefficients of the gravity field model based on the observation equation and the design matrix, wherein the construction of the design matrix and the observation equation and the calculation process of the potential coefficients of the gravity field model are executed in a graphics processor.
[0026] First determine the normal equation of the observation equation.
[0027] Then the asteroid gravity field model coefficient The parameters to be estimated are introduced into the design matrix, and the parameters to be estimated are divided into global parameters and local parameters.
[0028] Then the normal equation of the observation equation is expanded according to the global parameters and local parameters, so as to solve the global parameter vector and the local parameter vector.
[0029] It should be noted that the process of constructing the design matrix and observation equations and the process of solving the potential coefficients of the gravity field model are executed by accelerating dense linear algebra (DLA) on a graphics processing unit (GPU).
[0030] Specifically, in the above-mentioned construction and solving process, when matrix multiplication, matrix inversion and matrix partitioning are required, the matrix to be calculated is accelerated in the GPU through a predetermined acceleration method, thereby using the GPU to achieve high parallelization of intensive calculations.
[0031] Optionally, the Compute Unified Device Architecture (Compute Unified Device Architecture) is used to send the computing acceleration task to the GPU by calling the CUDA function corresponding to each computing acceleration task, and the multi-threading of the GPU is used to realize parallel processing of large matrix operations, thereby realizing computing acceleration. Among them, the computing acceleration tasks include matrix multiplication acceleration tasks, matrix inversion acceleration tasks and matrix block acceleration tasks.
[0032] The present invention accelerates asteroid calculations through large-matrix GPUs, effectively solving the problem of large-scale matrix calculation tasks and long calculation time in asteroid gravity field inversion. It implements a large-scale matrix calculation method based on multi-GPU parallelism, combines GPU and CUDA, and can achieve high parallelization of intensive calculations, greatly shortening the time required for large-scale matrix calculations in asteroid gravity field inversion.
[0033] In the asteroid gravity field inversion method based on GPU acceleration of the present invention, the step of constructing a design matrix according to the position, velocity and acceleration of the probe in the inertial system specifically includes: Construct a state transfer matrix based on the position, velocity and acceleration of the probe in the inertial frame; Construct a parameter sensitivity matrix based on the position, velocity, acceleration and estimated parameters of the detector in the inertial system; The design matrix is constructed according to the state transfer matrix and the parameter sensitivity matrix.
[0034] Specifically, the motion of the detector based on Newton's second law is as follows: ; In the formula, the first term on the right side of the equation represents the central gravity of the central celestial body, For the power of photography.
[0035] On this basis, the variational equation is constructed. Specifically, the detector t 0 Initial state at the initial time After the determination, the probe will move in the inertial frame according to Newton's second law, and the reference state at any time t will be t There is a certain functional relationship between the initial states at the initial time.
[0036] Therefore, the state vector of the detector at any time is defined relative to the detector t Initial state at time 0 The partial derivative of is the state transfer matrix, expressed as: ; The first-order derivative of time is: ; In the formula, r , v and a are the position, velocity and acceleration of the detector in the inertial system at time t respectively.
[0037] Similarly, define the detector state vector at any time The partial derivative with respect to other parameters to be estimated is the parameter sensitivity matrix, expressed as: ; In the formula, np It indicates the number of other parameters to be estimated besides the initial orbital elements of the detector. The first-order derivative of the parameter sensitivity matrix with respect to time is: ; The state transfer matrix and parameter sensitivity matrix are combined together to form the design matrix: ; The first derivative of the design matrix is: ; The second-order ordinary differential equation of the design matrix is: ; If: ; ; The above formula can be simplified as: .
[0038] In the asteroid gravity field inversion method based on GPU acceleration of the present invention, the step of constructing the observation equation based on the reference state of the observation quantity of the detector at any time by the deep space station includes: The observation quantity of the deep space station on the detector is expanded at the reference state at any time, and the observation partial derivative of the state quantity of the observation quantity at the initial time is obtained after ignoring the high order and linearizing; The observation quantity on the time series is constructed based on the observed partial derivative of the state quantity of the observation quantity at the initial moment, and the observation equation is obtained after weighting it based on the noise level of the observation quantity.
[0039] Furthermore, for the functional relationship Y between the observed value of the detector over a period of time and the initial state of the detector, expand it at the reference state at time t, ignore the high-order terms, and obtain it after linearization: ; In the formula, Represents the observed partial derivative of the state quantity at the observation time t, by designing the matrix The mapping in can obtain the observation quantity for the initial time t The observed partial derivative of the state quantity at 0, H is the information matrix, and y is the difference between the observed value and the theoretical value, that is, the residual.
[0040] For a time series observation, the above formula can be expressed as: ; By weighting this formula, we get the following formula: ; In the formula, is the noise level of the observed quantity, and the above equation is used as the observation equation.
[0041] According to the design matrix and observation equation, the gravity field inversion is realized, that is, the solution of the potential coefficients of the gravity field model. First, the normal equation of the observation equation can be obtained according to the linear unbiased minimum variance estimation: ; The corresponding covariance matrix is: ; On this basis, the gravity field model potential coefficient is introduced into the estimated parameter p of the design matrix , the parameters to be estimated are divided into global parameters and local parameters, and the following form of the normal equation can be obtained: ; In the formula, A 11 Corresponding to the normal equation matrix of local parameters, A 22 The corresponding normal equation matrix is the global parameter. 1 is the local parameter vector, x 2 is the global parameter vector. A series of normal equations can be obtained by processing multiple arc segments. In multi-arc segment orbit determination, some parameters to be estimated are common to each arc segment, such as gravity field parameters and station coordinates, while other parameters are only related to the arc segment. Based on this, the parameters can be divided into global parameters and local parameters. Local parameters are only associated with the arc segment, including the initial orbital roots, atmospheric drag coefficient, light pressure coefficient, station deviation (deviation of ranging and velocity measurement in each observation period) and other parameters; global parameters are related to all orbit determination arc segments, including planetary gravity field coefficients, planetary lander positions, solid tide LOVE numbers, etc.
[0042] Normal equations for all arc segments: ; In the formula, the superscripts represent the arc segment numbers 1 to n. The normal equation series is expanded according to the global parameters and local parameters and expressed as follows: ; By taking matrix row transformation for each arc segment of the above joint matrix, the following form can be obtained: ; On this basis, the global parameter vector x can be solved first 2 , and the local parameter vector can be solved by back-substitution .
[0043] In the asteroid gravity field inversion method based on GPU acceleration of the present invention, when matrix multiplication needs to be performed in the process of constructing the design matrix and the observation equation and solving the coefficients of the gravity field model, a loop is replaced with an inner loop and an outer loop based on the loop tiling technology; and the three innermost loops are replaced with a single straight line code block in the graphics processor based on the loop expansion technology.
[0044] Based on the above construction process of the design matrix and observation equations, as well as the solution process of the potential coefficients of the gravity field model, it can be found that matrix multiplication operations need to be performed on different matrices during the construction and solution process.
[0045] When matrix multiplication operations are required, the matrix multiplication is optimized in the GPU based on loop tiling technology.
[0046] By calling the function in the CUDA library, the matrix data to be multiplied is transferred to the GPU memory, and the multiplication operation is performed according to the predetermined matrix multiplication operation optimization method.
[0047] Specifically, if Figure 2 As shown in Figure 1, loop tiling replaces one loop with two loops: an inner loop and an outer loop. The inner loop increments the loop counter by one, and the outer loop increments the loop counter by a tiling factor. The tiling of matrix multiplication exploits the surface volume effect, that is, Execute on data The loop unrolling technique is applied to replace the three innermost loops with a single straight-line code block (a single basic code block). The purpose of this is to reduce the cost of the loop (increasing the loop counter, advancing the data pointer, and the overhead of the branch) and to increase instruction-level parallelism by creating independent instruction sequences to fill the processor pipeline.
[0048] In the case of a GPU, the matrix is overlaid on a 2D grid of thread blocks, each of which is responsible for computing a single block. Outside of the operation of a single thread block, the two outer loops disappear, leaving only one loop - the loop that advances block by block along the k dimension.
[0049] In the asteroid gravity field inversion method based on GPU acceleration of the present invention, when matrix inversion is required in the process of constructing the design matrix and the observation equation and solving the gravity field model coefficients, the matrix inversion is decomposed into an LU decomposition task and an LU decomposition inverse matrix calculation task based on CUDA, and dynamic memory for storing operation results is allocated to the LU decomposition task and the LU decomposition inverse matrix calculation task on CUDA; CUDA distributes the matrix inversion calculation to multiple graphics processors.
[0050] Based on the above construction process of the design matrix and observation equations, as well as the solution process of the potential coefficients of the gravity field model, it can be found that matrix inversion operations need to be performed on different matrices during the construction and solution process.
[0051] When a matrix inversion operation is required, the matrix inversion operation is decomposed into two parts: LU decomposition and calculation of the inverse matrix using the result of the LU decomposition.
[0052] Specifically, Figure 3 As shown, for the n-dimensional matrix A to be inverted, an augmented matrix is established, that is, the unit matrix E is multiplied by the transpose of the matrix A to obtain the augmented matrix B: .
[0053] Where E is the n-dimensional unit matrix, B is the n-dimensional augmented matrix, is the transpose of A.
[0054] On this basis, LU decomposition is performed to transform the augmented matrix B into the product of the lower triangular matrix L and the upper triangular matrix U, where both L and U are n-dimensional matrices: .
[0055] Through Gaussian elimination, U is transformed into the unit matrix, and the corresponding L matrix will also become the inverse matrix of A.
[0056] Therefore, the matrix inversion is decomposed into the LU decomposition task and the LU decomposition inverse matrix calculation task, and dynamic memory is allocated on CUDA. CUDA is a parallel computing platform that allows code to be executed on NVIDIA GPUs and provides a framework for efficiently executing large-scale parallel tasks. Large, highly data-parallel tasks suitable for efficient GPU computing are assigned to the GPU for execution.
[0057] A two-layer nested parallelism approach is adopted, where coarse-grained parallelism is achieved by dividing the calculation into multiple blocks. In CUDA parallel programming, a block is a unit of parallel execution of code, consisting of a group of threads. This allows for concurrent execution between GPUs (following the framework of PLASMA); fine-grained parallelism is further provided by dividing the workload into a tile, so that efficient calculations can be performed on the GPU, and in some cases, it can also benefit from hybrid calculations using GPUs and CPUs. This achieves parallel computing of the GPU and gives full play to the high performance and scalability of multi-core GPU accelerator systems.
[0058] In the asteroid gravity field inversion method based on GPU acceleration of the present invention, when it is necessary to operate matrix block in the process of constructing the design matrix and the observation equation and solving the coefficients of the gravity field model, the matrix to be divided is read in a memory mapping manner; Acquire resource parameters of a graphics processor and scale parameters of a matrix to be divided into blocks, and determine the number of sub-matrices obtained by dividing the matrix to be divided into blocks according to the resource parameters and the scale parameters; An inversion operation is performed on the sub-matrices obtained by the division based on a parallel algorithm, and the results of the inversion operations of all the sub-matrices are combined to obtain the inversion operation result of the matrix to be divided into blocks.
[0059] Based on the above construction process of the design matrix and observation equations, as well as the solution process of the potential coefficients of the gravity field model, it can be found that matrix block operations need to be performed on different matrices during the construction and solution process.
[0060] When matrix block operations are required, the inverse matrix is divided into rows and columns, and the matrix data of the matrix to be divided into blocks is read using the memory mapping method. The matrix is divided into n×n sub-matrices according to the hardware structure and performance: ; In the formula, to They are all n-dimensional sub-matrices.
[0061] The resource parameters of the graphics processor characterize the hardware structure and performance, and the resource processor includes the number of CUDA cores, computing power, video memory size, and memory bandwidth of the GPU. The scale parameter of the matrix characterizes the size of the matrix, which can be the number of rows and columns of the matrix.
[0062] The number of sub-matrices is determined according to the resource parameters of the GPU and the scale parameters of the matrix to be divided into blocks, so that the GPU can meet the calculation requirements of the sub-matrices.
[0063] The sub-matrices after block division are inverted to reduce the memory required for a single calculation. The sub-matrices are read in sequence, and the inverse of each sub-matrix block is calculated through LU decomposition. After all sub-matrices are calculated, the calculated sub-matrix blocks are merged into the inverse matrix of the entire matrix, thereby effectively reducing the memory loss required for calculation.
[0064] The following is a description of the asteroid gravity field inversion device based on GPU acceleration provided by the present invention. The asteroid gravity field inversion device based on GPU acceleration described below and the asteroid gravity field inversion method based on GPU acceleration described above can be referenced to each other.
[0065] like Figure 4 As shown, the asteroid gravity field inversion device based on GPU acceleration includes a first construction module 401, a second construction module 402 and a solution module 403: A first construction module 401 is used to construct a design matrix according to the position, velocity and acceleration of the probe in the inertial system; The inversion of the asteroid gravity field is the solution of the potential coefficients of the asteroid gravity field model.
[0066] Specifically, when a planetary probe is flying around its central celestial body, it is affected by various forces such as the gravity of the central celestial body, where the central celestial body is the asteroid whose gravity field is to be solved.
[0067] Obtain relevant data of the probe during its flight around the central celestial body, including the position, velocity and acceleration of the probe in the inertial system, and construct the motion equation of the probe.
[0068] Based on the motion equation of the detector, a design matrix is constructed, wherein the design matrix includes a plurality of parameters to be estimated.
[0069] A second construction module 402 is used to construct an observation equation based on a reference state of the observation quantity of the detector at any time by the deep space station; Furthermore, the Earth's deep space station tracks and measures the movement of the probe around the central celestial body, thereby obtaining observations over a period of time.
[0070] The functional relationship between the observed value of the detector over a period of time and the initial state of the detector can be expressed as: ; In the formula, Y represents the observed quantity, represents the measurement noise.
[0071] Based on the reference state at any time t X The result of expanding at 0 is used to construct the observation equation for a time series of observations obtained over a period of time.
[0072] The solution module 403 is used to solve the gravity field model potential coefficients based on the observation equation and the design matrix, wherein the construction of the design matrix and the observation equation and the solution process of the gravity field model potential coefficients are executed in the graphics processor.
[0073] First determine the normal equation of the observation equation.
[0074] Then the asteroid gravity field model coefficient The parameters to be estimated are introduced into the design matrix, and the parameters to be estimated are divided into global parameters and local parameters.
[0075] Then the normal equation of the observation equation is expanded according to the global parameters and local parameters, so as to solve the global parameter vector and the local parameter vector.
[0076] It should be noted that the process of constructing the design matrix and observation equations and the process of solving the potential coefficients of the gravity field model are executed by accelerating dense linear algebra (DLA) on a graphics processing unit (GPU).
[0077] Specifically, in the above-mentioned construction and solving process, when matrix multiplication, matrix inversion and matrix partitioning are required, the matrix to be calculated is accelerated in the GPU through a predetermined acceleration method, thereby using the GPU to achieve high parallelization of intensive calculations.
[0078] Optionally, the Compute Unified Device Architecture (Compute Unified Device Architecture) is used to send the computing acceleration task to the GPU by calling the CUDA function corresponding to each computing acceleration task, and the multi-threading of the GPU is used to realize parallel processing of large matrix operations, thereby realizing computing acceleration. Among them, the computing acceleration tasks include matrix multiplication acceleration tasks, matrix inversion acceleration tasks and matrix block acceleration tasks.
[0079] The present invention accelerates asteroid calculations through large-matrix GPUs, effectively solving the problem of large-scale matrix calculation tasks and long calculation time in asteroid gravity field inversion. It implements a large-scale matrix calculation method based on multi-GPU parallelism, combines GPU and CUDA, and can achieve high parallelization of intensive calculations, greatly shortening the time required for large-scale matrix calculations in asteroid gravity field inversion.
[0080] Figure 5 An example of a physical structure diagram of an electronic device is shown in FIG. Figure 5 As shown, the electronic device may include: a processor 510, a communication interface 520, a memory 530 and a communication bus 540, wherein the processor 510, the communication interface 520 and the memory 530 communicate with each other through the communication bus 540. The processor 510 may call the logic instructions in the memory 530 to execute the asteroid gravity field inversion method based on GPU acceleration, the method comprising: constructing a design matrix according to the position, velocity and acceleration of the probe in the inertial system; constructing an observation equation based on the reference state of the observation quantity of the probe at any time by the deep space station; and solving the gravity field model potential coefficient based on the observation equation and the design matrix, wherein the construction of the design matrix and the observation equation and the solution of the gravity field model potential coefficient are executed in the graphics processor.
[0081] In addition, the logic instructions in the above-mentioned memory 530 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when it is sold or used as an independent product. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program codes.
[0082] On the other hand, the present invention also provides a computer program product, which includes a computer program, which can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute the asteroid gravity field inversion method based on GPU acceleration provided by the above methods, the method including: constructing a design matrix according to the position, velocity and acceleration of the probe in the inertial system; constructing an observation equation based on the reference state of the deep space station's observation of the probe at any time; and solving the gravity field model coefficients based on the observation equation and the design matrix, wherein the construction of the design matrix and the observation equation and the solution of the gravity field model coefficients are executed in a graphics processor.
[0083] On the other hand, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, is implemented to execute the asteroid gravity field inversion method based on GPU acceleration provided by the above methods, the method comprising: constructing a design matrix according to the position, velocity and acceleration of the probe in the inertial system; constructing an observation equation based on the reference state of the observation quantity of the probe by the deep space station at any time; and solving the gravity field model potential coefficients based on the observation equation and the design matrix, wherein the construction of the design matrix and the observation equation and the solution of the gravity field model potential coefficients are executed in a graphics processor.
[0084] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.
[0085] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.
[0086] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for inverting the gravity field of an asteroid based on GPU acceleration, characterized in that: include: Construct a design matrix based on the position, velocity and acceleration of the probe in the inertial frame; Constructing an observation equation based on a reference state of the observation quantity of the detector at any time by the deep space station; The gravity field model coefficients are obtained by solving the observation equation and the design matrix, wherein the construction of the design matrix and the observation equation and the solving process of the gravity field model coefficients are executed in a graphics processor.
2. The asteroid gravity field inversion method based on GPU acceleration according to claim 1 is characterized in that: The step of constructing a design matrix according to the position, velocity and acceleration of the detector in the inertial system specifically includes: Construct a state transfer matrix based on the position, velocity and acceleration of the probe in the inertial frame; Construct a parameter sensitivity matrix based on the position, velocity, acceleration and estimated parameters of the detector in the inertial system; The design matrix is constructed according to the state transfer matrix and the parameter sensitivity matrix.
3. The asteroid gravity field inversion method based on GPU acceleration according to claim 1, characterized in that: The step of constructing the observation equation based on the reference state of the observation quantity of the detector at any time by the deep space station comprises: The observation quantity of the deep space station on the detector is expanded at the reference state at any time, and the observation partial derivative of the state quantity of the observation quantity at the initial time is obtained after ignoring the high order and linearizing; The observation quantity on the time series is constructed based on the observed partial derivative of the state quantity of the observation quantity at the initial moment, and the observation equation is obtained after weighting it based on the noise level of the observation quantity.
4. The asteroid gravity field inversion method based on GPU acceleration according to any one of claims 1 to 3, characterized in that: In the case where matrix multiplication is required in the process of constructing the design matrix and the observation equation and solving the coefficients of the gravity field model, a loop is replaced with an inner loop and an outer loop based on loop tiling technology; The innermost three loops are replaced with a single straight-line code block in the GPU based on loop unrolling technology.
5. The asteroid gravity field inversion method based on GPU acceleration according to any one of claims 1 to 3, characterized in that: When matrix inversion is required during the construction of the design matrix and the observation equation and the solution of the gravity field model coefficients, the matrix inversion is decomposed into an LU decomposition task and an LU decomposition inverse matrix calculation task based on CUDA, and dynamic memory for storing the operation results is allocated to the LU decomposition task and the LU decomposition inverse matrix calculation task on CUDA; CUDA distributes the matrix inversion calculation to multiple graphics processors.
6. The asteroid gravity field inversion method based on GPU acceleration according to any one of claims 1 to 3, characterized in that: In the process of constructing the design matrix and the observation equation and solving the potential coefficients of the gravity field model, when it is necessary to divide the matrix into blocks, the matrix to be divided into blocks is read in a memory mapping manner; Acquire resource parameters of a graphics processor and scale parameters of a matrix to be divided into blocks, and determine the number of sub-matrices obtained by dividing the matrix to be divided into blocks according to the resource parameters and the scale parameters; An inversion operation is performed on the sub-matrices obtained by the division based on a parallel algorithm, and the results of the inversion operations of all the sub-matrices are combined to obtain the inversion operation result of the matrix to be divided into blocks.
7. An asteroid gravity field inversion device based on GPU acceleration, characterized in that: include: A first building module is used to build a design matrix according to the position, velocity and acceleration of the probe in the inertial system; A second construction module is used to construct an observation equation based on a reference state of the observation quantity of the detector at any time by the deep space station; A solution module is used to solve the gravity field model potential coefficients based on the observation equation and the design matrix, wherein the construction of the design matrix and the observation equation and the solution process of the gravity field model potential coefficients are executed in a graphics processor.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the asteroid gravity field inversion method based on GPU acceleration as described in any one of claims 1 to 6 is implemented.
9. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the asteroid gravity field inversion method based on GPU acceleration as described in any one of claims 1 to 6 is implemented.
10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the asteroid gravity field inversion method based on GPU acceleration as described in any one of claims 1 to 6 is implemented.