Data processing method for solving local feature pair of generalized feature equation

By adaptively adjusting the Lanczos solver mode, optimizing the memory and computing process, the memory and computing overhead problems in large-scale generalized feature equation solutions are solved, and efficient and stable feature extraction is achieved. It is suitable for engineering simulation fields such as finite element analysis, computational fluid mechanics and electromagnetic simulation.

CN120407996AActive Publication Date: 2025-08-01HUNAN MAIXI SOFTWARE CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202510891407.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-30
Publication Date
2025-08-01
Estimated Expiration
2045-06-30

AI Technical Summary

Technical Problem

When solving large-scale generalized feature equations, the computing cost, memory usage and data processing overhead have increased sharply, especially in super-large-scale computing scenarios, which lacks effective memory optimization strategies, resulting in insufficient computing efficiency and stability.

Method used

By adaptively adjusting the Lanczos solver's mode according to the hardware resource status, the memory usage and calculation process are optimized, including initializing the number of feature pairs and the number of Lanczos vectors, and combining the calculation results to control memory usage and calculation overhead.

Benefits of technology

It significantly reduces the memory usage and computing overhead in the feature extraction process, improves the efficiency and stability of large-scale generalized feature equation solutions, and is suitable for finite element analysis, computational fluid mechanics, and electromagnetic simulation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120407996A_ABST
    Figure CN120407996A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a data processing method and device for solving a local feature pair of a generalized feature equation, equipment and a computer readable storage medium. The method comprises the following steps: determining a mode of a Lanczos solver according to hardware information; initializing the number of targets of one-time solving feature pairs of the Lanczos solver and the number of Lanczos vectors in the one-time solving process; on the basis of the target number and the number of Lanczos vectors, Lanczos iterative operation is executed, and the number of convergence feature pairs of this time is calculated; and if the number of the current convergence feature pairs is greater than or equal to the target number and greater than a preset target number, combining calculation results according to a mode of a Lanczos solver to obtain the number of the convergence feature pairs. In this way, memory occupation and calculation overhead are remarkably reduced, and the solving efficiency and expandability of a large-scale feature extraction problem are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present application relate to the field of engineering simulation and scientific computing, and particularly to a data processing method, apparatus, device, and computer-readable storage medium for solving local eigenpairs of a generalized eigenvalue equation. Background Art

[0002] In the field of engineering simulation and scientific computing, solving the first N eigenpairs of a large-scale generalized eigenvalue equation has important applications, such as natural frequency analysis, vibration analysis of large bridges and buildings, etc. In response to this demand, a relatively mature set of efficient mathematical theories has been developed currently, such as the subspace iteration method, the Krylov subspace method, etc. Among them, the Lanczos iteration method based on the Krylov subspace has become the mainstream choice for computer-aided engineering (CAE) simulation.

[0003] However, in practical engineering applications, the Lanczos method exposes obvious limitations. During the algorithm process, sparse matrix-vector multiplications, orthogonalization and storage operations of basis vectors need to be performed frequently. As the number N of extracted eigenpairs increases, the basis scale expands rapidly, resulting in a sharp rise in computational cost, memory occupancy, and data processing overhead. Especially as the computing scale continues to expand, the number of degrees of freedom in finite element simulation has reached millions or even tens of millions, and this problem is particularly prominent. In ultra-large-scale computing scenarios, there is a lack of targeted data management and memory optimization strategies, and no clear and effective technical route has been formed to address the challenges of large-scale eigenvalue solving.

[0004] Based on the above problems, how to construct an efficient Lanczos solution method for large-scale sparse generalized eigenvalue equations is an issue that urgently needs to be resolved currently. Summary of the Invention

[0005] According to the embodiments of the present application, a data processing solution for solving local eigenpairs of a generalized eigenvalue equation is provided, which can adaptively adjust the solution process according to the hardware resource status, significantly reducing the memory occupancy and computational overhead during the eigenpair extraction process. At the same time, on the premise of ensuring the solution accuracy, the memory controllability and computational stability of solving large-scale generalized eigenvalue equations are effectively improved, which can meet the actual needs of ultra-large-scale structural simulation in complex engineering applications. That is, it can achieve stable and efficient solution of large-scale generalized eigenvalue equations under limited hardware resource conditions, has good scalability and resource adaptability, is applicable to multiple fields such as finite element analysis (FEA), computational fluid dynamics (CFD), electromagnetic simulation, etc., and can effectively meet the high requirements of modern engineering simulation for computational accuracy and efficiency.

[0006] In the first aspect of the present application, a data processing method for solving local eigenpairs of a generalized eigenvalue equation is provided. The method includes: Determine the mode of the Lanczos solver according to the hardware information; initialize the target number of eigenpairs for one-time solution of the Lanczos solver and the number of Lanczos vectors during one-time solution. Based on the target number and the number of Lanczos vectors, perform Lanczos iteration operations to calculate the number of converged eigenpairs in this iteration; if the number of converged eigenpairs in this iteration is greater than or equal to the target number and greater than the preset target number, then according to the mode of the Lanczos solver, merge the calculation results to obtain the number of converged eigenpairs.

[0007] Further, the initialization of the target number of eigenpairs for one-time solution of the Lanczos solver and the number of Lanczos vectors during one-time solution includes: Determine the target number of eigenpairs according to the preset target number; Determine the number of Lanczos vectors according to the target number: Wherein, ; ; Wherein, is the target number of eigenpairs; <00> N is the preset target number; is the number of Lanczos vectors.

[0008] Further, the determination of the mode of the Lanczos solver according to the hardware information includes: According to the hardware information, obtain the available memory size of the hardware resources to get the first memory data; Perform symbolic decomposition on the stiffness matrix in the generalized eigenvalue equation to obtain the second memory data and the third memory data required for in-core decomposition and out-of-core decomposition of the stiffness matrix respectively; According to the target number and the number of Lanczos vectors, determine the fourth memory data required for Lanczos iteration in the in-core solution mode and the fifth memory data required for Lanczos iteration in the out-of-core solution mode respectively; Determine the mode of the Lanczos solver according to the first, second, third, fourth, and fifth memory data.

[0009] Further, the determination of the mode of the Lanczos solver according to the first, second, third, fourth, and fifth memory data includes: If the first memory data is greater than the sum of the second memory data and the fourth memory data, or the first memory data is greater than the sum of the third memory data and the fourth memory data, then the Lanczos solver is in the in-core solution mode; If the first memory data is greater than the sum of the third memory data and the fifth memory data, or if the first memory data is greater than the sum of the third memory data and half of the fifth memory data, then the Lanczos solver is in the out-of-core solution mode.

[0010] Further, it also includes: If the first memory data is less than the sum of the third memory data and half of the fifth memory data, then the calculation is exited.

[0011] Further, it also includes: If the number of converged eigenpairs in this iteration is greater than or equal to the target number and less than the preset target number, then the new displacement is calculated in the following manner: ; where, is the largest eigenvalue among the calculated eigenpairs; is the average distance between the eigenvalues among the eigenpairs obtained from the previous displacement calculation; Based on the new displacement, the Lanczos iteration operation is re-executed.

[0012] Further, the merging of the calculation results according to the mode of the Lanczos solver to obtain the number of converged eigenpairs includes: If the mode of the Lanczos solver is out-of-core solution, then the eigenpair files stored on the disk are integrated, sorted in ascending order of eigenvalues, and the file name and the number of converged eigenpairs are returned; If the mode of the Lanczos solver is in-core solution, then the number of converged eigenpairs and the position of the eigenpair array in the memory are returned.

[0013] In the second aspect of the present application, a data processing device for solving local eigenpairs of a generalized eigenvalue equation is provided. The device includes: An initial module for determining the mode of the Lanczos solver according to the hardware information; initializing the target number of eigenpairs to be solved at one time by the Lanczos solver and the number of Lanczos vectors during one-time solution; A calculation module for performing the Lanczos iteration operation based on the target number and the number of Lanczos vectors, and calculating the number of converged eigenpairs in this iteration; if the number of converged eigenpairs in this iteration is greater than or equal to the target number and greater than the preset target number, then according to the mode of the Lanczos solver, the calculation results are merged to obtain the number of converged eigenpairs.

[0014] In a third aspect of the present application, an electronic device is provided. The electronic device includes: a memory and a processor, where a computer program is stored on the memory, and when the processor executes the program, the methods described above are implemented.

[0015] In a fourth aspect of the present application, a computer-readable storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the method according to the first aspect of the present application is implemented.

[0016] The data processing method for solving local eigenpairs of a generalized eigenvalue equation provided by the embodiments of the present application determines the mode of the Lanczos solver according to hardware information; initializes the target number of eigenpairs to be solved at one time by the Lanczos solver and the number of Lanczos vectors during the one-time solution process; based on the target number and the number of Lanczos vectors, performs Lanczos iteration operations to calculate the number of converged eigenpairs in this iteration; if the number of converged eigenpairs in this iteration is greater than or equal to the target number and greater than a preset target number, then according to the mode of the Lanczos solver, combines the calculation results to obtain the number of converged eigenpairs, significantly reducing memory occupancy and computational overhead, and improving the solution efficiency and scalability of large-scale feature extraction problems.

[0017] It should be understood that the content described in the Summary of the Invention section is not intended to limit the key or important features of the embodiments of the present application, nor is it used to limit the scope of the present application. Other features of the present application will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] In combination with the accompanying drawings and with reference to the following detailed description, the above and other features, advantages, and aspects of the embodiments of the present application will become more apparent. In the drawings, the same or similar reference numerals represent the same or similar elements, where: Figure 1 is a flowchart of a data processing method for solving local eigenpairs of a generalized eigenvalue equation according to an embodiment of the present application; Figure 2 is a calculation flowchart for solving local eigenpairs of a generalized eigenvalue equation according to an embodiment of the present application; Figure 3 is a Lanczos iteration calculation flowchart according to an embodiment of the present application; Figure 4 is a schematic diagram of the eigenpair storage process according to an embodiment of the present application; Figure 5 is a block diagram of a data processing device for solving local eigenpairs of a generalized eigenvalue equation according to an embodiment of the present application; Figure 6 is a schematic diagram of the structure of a terminal device or a server suitable for implementing the embodiments of the present application. Detailed implementation manners

[0019] To make the objectives, technical solutions and advantages of the embodiments of the present disclosure clearer, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present disclosure. Apparently, the described embodiments are some, but not all, of the embodiments of the present disclosure. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in the present disclosure without creative efforts shall fall within the protection scope of the present disclosure.

[0020] In addition, the term "and / or" in this article is only a relational description of associated objects, indicating that three relationships may exist. For example, A and / or B may represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " in this article generally represents an "or" relationship between the associated objects before and after.

[0021] Figure 1 The flowchart of a data processing method for solving local eigenpairs of a generalized eigen-equation according to an embodiment of the present disclosure is shown. The method includes: S110. Determine the mode of the Lanczos solver according to the hardware information; initialize the target number of eigenpairs to be solved at one time by the Lanczos solver and the number of Lanczos vectors during the one-time solution process.

[0022] In some embodiments, the generalized eigen-equation is defined as: ; where K is a matrix called the stiffness matrix; M is a matrix called the mass matrix; λ is the eigenvalue; x is the eigenvector; Solving the local eigenpairs of the generalized eigen-equation means solving the requirement of the first N-order eigenpairs of the generalized eigen-equation in engineering calculations.

[0023] In some embodiments, initialize the nev and ncv parameters of the Lanczos solver according to the hardware resources; where nev is the target number of eigenpairs to be solved at one time by the solver; ncv is the number of Lanczos vectors during the one-time solution process by the solver.

[0024] Determining the mode of the Lanczos solver according to the hardware information includes: Obtain the available memory size of the hardware resources according to the hardware information to obtain the first memory data M0; Perform symbolic factorization on the stiffness matrix K in the generalized eigenvalue equation to obtain the second memory data M1 and the third memory data M2 required for the in-core factorization and the out-of-core factorization stiffness matrices, respectively. Determine the initial values of nev and ncv: ; ; where is the target number of eigenvalue pairs; N is the preset target number; is the number of Lanczos vectors; It should be noted that the larger nev is, the more eigenvalue pairs the solver stores in a single solution, that is, the more memory is required; conversely, the more times the solver needs to solve. The larger ncv is, the more iteration times in a single solution, that is, the more convergent eigenvalue pairs, but the more memory it requires, and the longer the single solution time. In the present disclosure, preferably, the sum of the maximum value of 15 and nev / 2 is set as the initial value of ncv.

[0025] According to the target number and the number of Lanczos vectors, determine the fourth memory data M3 required for Lanczos iteration in the in-core solution mode and the fifth memory data M4 required for Lanczos iteration in the out-of-core solution mode, respectively: ; ; where rank is the dimension of the stiffness matrix K; Specifically, M3 is used to store all necessary vectors of length rank in the kernel, including: Lanczos vectors (the number is ncv + 2), the eigenvectors converged by the previous displacement operation (the number is nev), and all converged eigenvectors (the total number N); M4 is the memory data for out-of-core solution, including Lanczos vectors (the number is ncv + 2) and the eigenvectors converged by the previous displacement operation (the number is nev). The difference between it and M3 is that all converged eigenvectors no longer occupy memory but are stored on disk.

[0026] According to the first, second, third, fourth, and fifth memory data, determine the mode of the Lanczos solver: The memory data of the algorithm includes two parts: stiffness matrix factorization and Lanczos iteration. After obtaining the available memory M0 according to the hardware information, compare the memory requirements of different solution modes to determine the optimal mode of the Lanczos solver: If M0 > M1 + M3: Prefer in-core factorization and in-core solution to make full use of memory resources and improve computational efficiency; If M0 > M2 + M3: Adopt out-of-core factorization while maintaining in-core solution to balance memory usage and computational performance; If M0 > M2 + M4: Adopt out-of-core factorization and out-of-core solution to ensure the stable operation of the algorithm under available memory; If M0 > M2 + 0.5 * M4: Select out-of-core factorization and out-of-core solution, and at the same time adjust the parameters nev and ncv to adapt to lower memory limitations to ensure the stable operation of the algorithm; If M0 < M2 + 0.5 * M4: The system memory is insufficient to support the current configuration, and the user needs to be prompted to increase memory or optimize the program to release resources; that is: if M0 > M1 + M3, then use the in-core solution mode to complete the stiffness matrix factorization, and the Lanczos solver is in the in-core solution mode; If M0 > M2 + M3, then use the out-of-core solution mode to complete the stiffness matrix factorization, and the Lanczos solver is in the in-core solution mode; If M0 > M2 + M4, then use the out-of-core solution mode to complete the stiffness matrix factorization, and the Lanczos solver is in the out-of-core solution mode; If M0 > M2 + 0.5 * M4, then use the out-of-core solution mode to complete the stiffness matrix factorization, and the Lanczos solver is in the out-of-core solution mode, and at the same time correct nev and ncv, for example, nev = nev / 2, ncv = ncv / 2; If M0 < M2 + 0.5 * M4, then it is prompted that the memory resources of the computing hardware are too small and the memory is insufficient, and the calculation is exited.

[0027] In summary, through the above hierarchical judgment method, the optimal solution mode can be ensured to be selected under different memory conditions, optimizing computational efficiency while ensuring the stability of the algorithm.

[0028] S120, based on the number of the target and the number of Lanczos vectors, perform Lanczos iterative operation to calculate the number of converged eigenpairs in this time; if the number of converged eigenpairs in this time is greater than or equal to the number of the target and greater than the preset target number, then according to the mode of the Lanczos solver, merge the calculation results to obtain the number of converged eigenpairs.

[0029] In some embodiments, such as Figure 2As shown, after initialization is completed, when performing Lanczos iteration at each displacement δ, the goal is to calculate nev eigenpairs. If nev eigenpairs are not obtained, then continue with Lanczos iteration for solution; otherwise, determine whether the number of obtained eigenpairs exceeds the specified N; if not, calculate a new displacement δi and continue the solution.

[0030] In some embodiments, the method of Lanczos iteration calculation is as Figure 3 shown. Different from the existing Lanczos algorithm, before performing calculations related to the new Lanczos vector vi, it is necessary to determine whether some eigenpairs have been solved (i.e., whether it is the first solution). If not, then an orthogonal operation needs to be performed with the eigenpairs obtained in the previous iteration.

[0031] In some embodiments, as Figure 4 shown, before storing each obtained partial eigenpair, it is necessary to perform duplicate removal processing with the eigenpairs calculated previously: Specifically, compare each currently obtained partial eigenpair with the previously obtained eigenpairs one by one: First, compare the eigenvalues. If the difference in eigenvalues does not exceed 1e - 5, then compare whether the calculated eigenvectors satisfy orthogonality. If not, it is considered that this eigenpair is obtained through duplicate calculation and is directly removed. After completing duplicate removal, if it is an out - of - core solution, store the eigenpairs on disk to control memory.

[0032] In some embodiments, as Figure 2 shown, in order to accelerate the convergence rate, in the present disclosure, except for the selected in the first calculation being equal to 0, the rest of the Lanczos calculation and solution need to recalculate a new : ; where is the largest eigenvalue among the already calculated eigenpairs; is the average distance between the eigenvalues of the eigenpairs obtained in the previous displacement calculation.

[0033] In some embodiments, according to the mode of the Lanczos solver determined in step S110, merge the calculation results to obtain the number of converged eigenpairs: If the mode of the Lanczos solver is out - of - core solution, then integrate the eigenpair files stored on disk, arrange them in ascending order of eigenvalues, and return the file name and the number of converged eigenpairs; If the mode of the Lanczos solver is in - core solution, then return the number of converged eigenpairs and the position of the eigenpair array in memory.

[0034] According to the embodiments of the present disclosure, the following technical effects are achieved: Through the displacement transfer strategy, the traditional first N-order feature extraction task can be transformed into a feature extraction problem within an interval, fundamentally controlling the number of basis vectors, effectively reducing the orthogonalization calculation overhead and data processing burden. It can stably and efficiently solve large-scale generalized eigenvalue equations under limited hardware resources, with good scalability and resource adaptability, and is applicable to multiple fields such as finite element analysis (FEA), computational fluid dynamics (CFD), and electromagnetic simulation, effectively meeting the high requirements for calculation accuracy and efficiency in modern engineering simulations.

[0035] It should be noted that for the foregoing method embodiments, for the sake of simple description, they are all expressed as a series of action combinations. However, those skilled in the art should know that this application is not limited by the described action sequence, because according to this application, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily essential to this application.

[0036] The above is the introduction of the method embodiments. The following further illustrates the solution of this application through device embodiments.

[0037] Figure 5 Fig. shows a data processing device 500 for solving local eigenpairs of a generalized eigenvalue equation according to an embodiment of the present application, as Figure 5 shown including: An initial module 510, configured to determine the mode of the Lanczos solver according to hardware information; initialize the target number of eigenpairs to be solved at one time by the Lanczos solver and the number of Lanczos vectors during one-time solution. A calculation module 520, configured to perform Lanczos iteration operations based on the target number and the number of Lanczos vectors, and calculate the number of converged eigenpairs in this iteration; if the number of converged eigenpairs in this iteration is greater than or equal to the target number and greater than a preset target number, then merge the calculation results according to the mode of the Lanczos solver to obtain the number of converged eigenpairs.

[0038] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the described modules can refer to the corresponding processes in the foregoing method embodiments, and will not be elaborated herein.

[0039] Figure 6 Fig. shows a schematic structural diagram of a terminal device or a server suitable for implementing the embodiments of the present application.

[0040] As Figure 6As shown, the terminal device or server includes a central processing unit (CPU) 601, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 602 or the program loaded from the storage section 608 into the random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the terminal device or server are also stored. The CPU 601, ROM 602, and RAM 603 are connected to each other via a bus 604. The input / output (I / O) interface 605 is also connected to the bus 604.

[0041] The following components are connected to the I / O interface 605: an input section 606 including a keyboard, a mouse, etc.; an output section 607 including such as a cathode ray tube (CRT), a liquid crystal display (LCD), etc. and a speaker, etc.; a storage section 608 including a hard disk, etc.; and a communication section 609 including a network interface card such as a LAN card, a modem, etc. The communication section 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to the I / O interface 605 as required. A removable medium 611, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 610 as required so that the computer program read from it can be installed into the storage section 608 as required.

[0042] Specifically, according to an embodiment of the present application, the above method flow steps can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a machine-readable medium, and the computer program contains program codes for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication section 609, and / or installed from the removable medium 611. When the computer program is executed by the central processing unit (CPU) 601, the above functions defined in the system of the present application are executed.

[0043] It should be noted that the computer-readable medium shown in this application can be a computer-readable signal medium, a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of a computer-readable storage medium can include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this application, a computer-readable storage medium can be any tangible medium that contains or stores a program, which can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on a computer-readable medium can be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical fiber, RF, etc., or any suitable combination of the above.

[0044] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram can represent a module, a program segment, or a part of code, and the foregoing module, program segment, or part of code contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks can occur in a different order than marked in the accompanying drawings. For example, two consecutive blocks shown can actually be executed substantially in parallel, and they can sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and the combination of blocks in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system for performing the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions.

[0045] The units or modules involved in the embodiments described in this application can be implemented in software or in hardware. The described units or modules can also be provided in a processor. Among them, the names of these units or modules do not, in some cases, constitute a limitation on the units or modules themselves.

[0046] As another aspect, this application also provides a computer-readable storage medium. The computer-readable storage medium can be included in the electronic device described in the above embodiments; it can also exist alone without being assembled into the electronic device. The above computer-readable storage medium stores one or more programs, and when the foregoing programs are executed by one or more processors, they implement the methods described in this application.

[0047] The above description is only a preferred embodiment of this application and an explanation of the technical principles applied. Those skilled in the art should understand that the scope of the application involved in this application is not limited to the technical solutions formed by the specific combination of the above technical features, and should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the foregoing application concept. For example, the technical solutions formed by mutually replacing the above features with the technical features (but not limited to) having similar functions described in this application.

Claims

1. A data processing method for solving local eigenpairs of a generalized eigenvalue equation, characterized in that, including: Determine the mode of the Lanczos solver according to the hardware information; initialize the target number of eigenpairs to be solved at one time by the Lanczos solver and the number of Lanczos vectors during the one-time solution process; Based on the target number and the number of Lanczos vectors, perform Lanczos iteration operations to calculate the number of converged eigenpairs in this iteration; if the number of converged eigenpairs in this iteration is greater than or equal to the target number and greater than the preset target number, then according to the mode of the Lanczos solver, merge the calculation results to obtain the number of converged eigenpairs.

2. The method according to claim 1, characterized in that, The initialization of the target number of eigenpairs to be solved at one time by the Lanczos solver and the number of Lanczos vectors during the one-time solution process includes: Determine the target number of the eigenpairs according to the preset target number; Determine the number of Lanczos vectors according to the target number: wherein, ; ; Among them, is the target number of feature pairs; N is the preset target number; is the number of Lanczos vectors.

3. The method according to claim 2, wherein The determination of the mode of the Lanczos solver according to the hardware information includes: According to the hardware information, obtain the available memory size of the hardware resources to get the first memory data; Perform symbolic decomposition on the stiffness matrix in the generalized eigenvalue equation to respectively obtain the second memory data and the third memory data required for in-core decomposition and out-of-core decomposition of the stiffness matrix; According to the target number and the number of Lanczos vectors, respectively determine the fourth memory data required for Lanczos iteration in the in-core solution mode and the fifth memory data required for Lanczos iteration in the out-of-core solution mode; Determine the mode of the Lanczos solver according to the first, second, third, fourth, and fifth memory data.

4. The method according to claim 3, wherein The determination of the mode of the Lanczos solver according to the first, second, third, fourth, and fifth memory data includes: If the first memory data is greater than the sum of the second memory data and the fourth memory data, or the first memory data is greater than the sum of the third memory data and the fourth memory data, then the Lanczos solver is in the in-core solution mode; If the first memory data is greater than the sum of the third memory data and the fifth memory data, or the first memory data is greater than the sum of the third memory data and half of the fifth memory data, then the Lanczos solver is in the out-of-core solution mode.

5. The method according to claim 4, wherein It also includes: If the first memory data is less than the sum of the third memory data and half of the fifth memory data, then exit the calculation.

6. The method according to claim 5, wherein It also includes: If the number of converged eigenpairs in this iteration is greater than or equal to the target number and less than the preset target number, then calculate the new displacement in the following way: ; Among them, is the largest eigenvalue among the calculated eigenpairs; The average distance between the eigenvalues in the eigenpairs calculated for the previous displacement; Based on the new displacement, re-perform the Lanczos iteration operation.

7. The method according to claim 6, wherein The merging of the calculation results according to the mode of the Lanczos solver to obtain the number of converged eigenpairs includes: If the mode of the Lanczos solver is the out-of-core solution, then integrate the eigenpair files stored on the disk, sort them in ascending order of eigenvalues, and return the file name and the number of converged eigenpairs; If the mode of the Lanczos solver is the in-core solution, then return the number of converged eigenpairs and the position of the eigenpair array in the memory.

8. A data processing device for solving local eigenpairs of a generalized eigenvalue equation, characterized in that, including: An initial module, configured to determine the mode of the Lanczos solver according to hardware information; initialize the target number of eigenpairs for the one-time solution of the Lanczos solver and the number of Lanczos vectors during the one-time solution process; A calculation module, configured to perform Lanczos iteration operations based on the target number and the number of Lanczos vectors, and calculate the number of converged eigenpairs in this iteration; If the number of converged eigenpairs in this iteration is greater than or equal to the target number and greater than a preset target number, then according to the mode of the Lanczos solver, merge the calculation results to obtain the number of converged eigenpairs.

9. An electronic device, comprising a memory and a processor, wherein a computer program is stored on the memory, characterized in that, When the processor executes the computer program, the method described in any one of claims 1 to 7 is implemented.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, the method described in any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Efficient automatic multi-substructure out-of-core parallel computing method

    CN118606063A

  • Matrix solving method for electromagnetic simulation and computer equipment

    CN119227472A

  • Method and apparatus for computing feature kernels for optical model simulation

    US20200073249A1