Super-computing-oriented high-expandability grid generation method and device, equipment and medium

By dividing the surface mesh connected domain of the target model into sub-mesh connected domains and using hash functions to generate connection surface identifiers, efficient mesh generation is achieved in a supercomputing environment, solving the problem of low mesh generation efficiency for highly complex and large-scale models and improving the scalability and efficiency of mesh generation.

CN120747418AActive Publication Date: 2025-10-03国家超级计算天津中心 +1
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202511159239.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-19
Publication Date
2025-10-03
Estimated Expiration
2045-08-19

AI Technical Summary

Technical Problem

When generating meshes for highly complex, large-scale models, existing technologies suffer from excessive memory consumption, low mesh generation efficiency, and low efficiency in connecting surface merging. This results in limited parallel generation efficiency and makes it difficult to quickly construct high-resolution meshes in distributed clusters of supercomputers.

Method used

The overall surface mesh connected domain of the target model is divided into multiple sub-grid connected domains, and the connection surface identifier is generated using a hash function. The volume mesh is divided and the connection surface data is merged through multiple computing nodes. A connection surface mesh point number mapping table is constructed, and duplicate mesh points and surface mesh units are deleted to achieve parallel mesh file writing.

Benefits of technology

It improves the efficiency of connecting surface merging, improves the efficiency and scalability of generating high-resolution grids in complex scenarios, solves the bottleneck problem of grid generation, and is suitable for models with grid scales above 10 billion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120747418A_ABST
    Figure CN120747418A_ABST
Patent Text Reader

Abstract

The embodiment of the invention relates to a super-computing-oriented high-expandability grid generation method and device, equipment and a medium, and the method comprises the steps: constructing a connection surface identifier based on the global number of each grid point in a preset number of surface grid units of a connection surface in an initial surface grid stage, therefore, the same connection surface is quickly recognized based on the connection surface identifier, the recognition efficiency of the connection surface is improved, and the connection surface grid point number mapping table is constructed based on the connection surface data to delete the repeated grid points and the repeated surface grid units to obtain the combined connection surface data, and the combined connection surface data is sent to the corresponding computing node, so that the recognition efficiency of the connection surface is improved. Therefore, after the calculation nodes obtain the grid data files of the non-repeated grid points and the non-repeated surface grid units, writing of the overall grid file of the target model is completed in parallel, the joint surface merging efficiency is improved, joint surface merging does not depend on global search, and the joint surface merging efficiency is improved. And the generation efficiency and the expandability of the high-resolution grid in a complex scene are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular to a highly scalable grid generation method, apparatus, device, and medium for supercomputing. Background Art

[0002] Explosion problems usually involve complex flow field dynamics, such as the propagation of shock waves, the interaction of materials, and the release of energy. In order to accurately capture these fine structures, numerical simulations require the use of high-resolution grids to describe the physical phenomena during the explosion in detail. In the numerical simulation process, the use of large-scale grid models can provide sufficient resolution, making the grid model closer to the real physical scene in terms of size and structural details. In addition, explosion simulations usually involve a large spatial range and strong nonlinear effects, resulting in drastic changes in physical quantities (such as pressure, temperature, and velocity) in space and time. In order to accurately simulate these changes, sufficiently dense grid points must be used to capture the gradients and rates of change of physical quantities. In order to ensure the accuracy and reliability of numerical simulations, large-scale grid models are required to provide the required grid point density.

[0003] However, in related technologies, the overall single-body model is usually used to directly generate the volume mesh. However, when faced with highly complex and large-scale models, problems such as excessive memory consumption, low mesh generation efficiency, and bottlenecks in the number of meshes generated are prone to occur. If a parallel generation method is used, there is a problem of low efficiency in merging connected surfaces, which causes some nodes to wait for a long time and limits the overall parallel efficiency. At the same time, the efficiency of connecting surface recognition is low, and the merging stage often relies on global search, which can easily lead to bottlenecks such as high communication overhead and processing delays, restricting the rapid construction of the global mesh. In distributed clusters of supercomputers, the above problems also exist, seriously restricting the generation efficiency and scalability of high-resolution meshes in complex scenarios. Summary of the Invention

[0004] In order to solve the above technical problems, the present disclosure provides a highly scalable grid generation method, apparatus, device and medium for supercomputing.

[0005] The present disclosure provides a highly scalable grid generation method for supercomputing, the method comprising: Acquire multiple sub-grid connected domains of a target model; wherein the multiple sub-grid connected domains are obtained by dividing the target model based on the overall surface grid connected domain, each sub-grid connected domain includes a connection surface shared by an adjacent sub-grid connected domain and a connection surface identifier of the connection surface, the connection surface identifier being obtained by processing a target data block based on a hash function, the target data block being generated by normalizing a global number sequence including a second preset number of grid points obtained by sorting the global numbers of the grid points in the surface grid units corresponding to the first preset number of connection surfaces; Sending the plurality of sub-grid connected domains to a plurality of computing nodes respectively; wherein the computing nodes are used to perform volume mesh division on the received sub-grid connected domains to obtain mesh data files; receiving connection surface data respectively sent by the plurality of computing nodes, and constructing a connection surface grid point number mapping table based on the connection surface data; wherein the connection surface grid point number mapping table includes a connection surface identifier, a global number of each grid point in the connection surface, and a correspondence between numbers generated by the computing node for each grid point in the connection surface and each surface grid unit; Based on the connection surface grid point number mapping table, duplicate grid points and duplicate surface grid units are deleted to obtain merged connection surface data, and the merged connection surface data is sent to the corresponding computing node, so that each computing node obtains a grid data file without duplicate grid points and duplicate surface grid units, and then completes the writing of the overall grid file of the target model in parallel.

[0006] The present disclosure also provides a highly scalable grid generation device for supercomputing, the device comprising: an acquisition module configured to acquire a plurality of sub-grid connected domains of a target model; wherein the plurality of sub-grid connected domains are obtained by dividing the target model based on the overall surface grid connected domain, each sub-grid connected domain including a connection surface shared by an adjacent sub-grid connected domain and a connection surface identifier of the connection surface, the connection surface identifier being obtained by processing a target data block based on a hash function, the target data block being generated by normalizing a global number sequence including a second preset number of grid points obtained by sorting the global numbers of the grid points in the surface grid units corresponding to the first preset number of connection surfaces; A first sending module is used to send the plurality of sub-grid connected domains to a plurality of computing nodes respectively; wherein the computing nodes are used to perform volume mesh division on the received sub-grid connected domains to obtain mesh data files; A first receiving module is configured to receive connection surface data respectively transmitted by the plurality of computing nodes, and construct a connection surface grid point number mapping table based on the connection surface data; wherein the connection surface grid point number mapping table includes a connection surface identifier, a global number of each grid point in the connection surface, and a correspondence between numbers generated by the computing node for each grid point in the connection surface and each surface grid unit; A deletion module is used to delete duplicate grid points and duplicate surface grid units based on the connection surface grid point number mapping table to obtain merged connection surface data, and send the merged connection surface data to the corresponding computing node, so that each computing node obtains a grid data file without duplicate grid points and duplicate surface grid units, and then completes the writing of the overall grid file of the target model in parallel.

[0007] An embodiment of the present disclosure also provides an electronic device, comprising: a processor; a memory for storing executable instructions of the processor; the processor for reading the executable instructions from the memory and executing the executable instructions to implement a highly scalable grid generation method for supercomputing as provided in an embodiment of the present disclosure.

[0008] An embodiment of the present disclosure further provides a computer-readable storage medium storing a computer program for executing the highly scalable grid generation method for supercomputing provided in an embodiment of the present disclosure.

[0009] The embodiments of the present disclosure also provide a computer program product, which includes a computer program / instructions. When the computer program / instructions are executed by a processor, the highly scalable grid generation method for supercomputing described in the embodiments of the present disclosure is implemented.

[0010] Compared with the prior art, the technical solution provided by the embodiment of the present disclosure has the following advantages: the highly scalable grid generation solution for supercomputing provided by the embodiment of the present disclosure obtains multiple sub-grid connected domains of the target model; wherein, the multiple sub-grid connected domains are obtained based on the division of the overall surface grid connected domain of the target model, each sub-grid connected domain includes a connection surface shared by its adjacent sub-grid connected domain and a connection surface identifier of the connection surface, the connection surface identifier is obtained by processing the target data block based on a hash function, the target data block is a data block generated after standardization processing of a global number sequence including a second preset number of grid points obtained by sorting the global numbers of each grid point in the surface grid units of the corresponding first preset number of connection surfaces, and the multiple sub-grid connected domains are sent to multiple computing nodes respectively; wherein, The computing node is used to perform volume mesh division on the connected domain of the sub-grid it receives to obtain a mesh data file, receive the connection surface data sent by multiple computing nodes respectively, and construct a connection surface grid point number mapping table based on the connection surface data; wherein the connection surface grid point number mapping table includes the connection surface identifier, the global number of each grid point in the connection surface, and the correspondence between the numbers generated by the computing node for each grid point in the connection surface and each surface grid unit; based on the connection surface grid point number mapping table, duplicate grid points and duplicate surface grid units are deleted to obtain merged connection surface data, and the merged connection surface data is sent to the corresponding computing node, so that each computing node obtains a grid data file without duplicate grid points and duplicate surface grid units, and then completes the writing of the overall grid file of the target model in parallel. By adopting the above technical solution, in the initial surface mesh stage, a connection surface identifier is constructed based on the global number of each grid point in a preset number of surface mesh units of the connection surface, so that the connection surface with the same connection surface identifier is quickly identified based on the connection surface identifier, thereby improving the recognition efficiency of the connection surface, and a connection surface grid point number mapping table is constructed based on the connection surface data to delete duplicate grid points and duplicate surface mesh units to obtain merged connection surface data, and the merged connection surface data is sent to the corresponding computing node, so that each computing node obtains a grid data file without duplicate grid points and duplicate surface mesh units, and then completes the writing of the overall grid file of the target model in parallel, thereby improving the efficiency of connection surface merging, making the merging of connection surfaces independent of global search, and improving the generation efficiency and scalability of high-resolution grids in complex scenarios. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The above and other features, advantages, and aspects of the various embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and that the originals and elements are not necessarily drawn to scale.

[0012] Figure 1A schematic diagram of a flow chart of a highly scalable grid generation method for supercomputing provided in an embodiment of the present disclosure; Figure 2 A schematic diagram of a surface grid partition provided in an embodiment of the present disclosure; Figure 3 A schematic diagram of the overall grid connected domain segmentation and a single sub-grid connected domain provided by an embodiment of the present disclosure; Figure 4 A schematic diagram of the allocation of a sub-grid connected domain provided by an embodiment of the present disclosure; Figure 5 A schematic diagram of a method for writing an overall grid file in parallel according to an embodiment of the present disclosure; Figure 6 A schematic diagram of the overall model provided in an embodiment of the present disclosure; Figure 7 A schematic diagram of the overall model partitioning provided by an embodiment of the present disclosure; Figure 8 A schematic diagram of a model body grid provided in an embodiment of the present disclosure; Figure 9 A schematic diagram of the structure of a highly scalable grid generation device for supercomputing provided by an embodiment of the present disclosure; Figure 10 A schematic structural diagram of an electronic device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION

[0013] The following describes embodiments of the present disclosure in more detail with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of protection of the present disclosure.

[0014] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.

[0015] As used herein, the term "including" and its variations are open-ended, i.e., "including but not limited to." The term "based on" means "based, at least in part, on." The term "one embodiment" means "at least one embodiment," the term "another embodiment" means "at least one additional embodiment," and the term "some embodiments" means "at least some embodiments." Other terms are defined in the following description.

[0016] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0017] It should be noted that the modifications of "one" and "multiple" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, they should be understood as "one or more".

[0018] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.

[0019] Example 1: In order to solve the above problems, the embodiments of the present disclosure provide a highly scalable grid generation method for supercomputing, which is introduced below in conjunction with specific embodiments.

[0020] Figure 1 This is a flow chart of a highly scalable grid generation method for supercomputing provided by an embodiment of the present disclosure. This method can be executed by a highly scalable grid generation device for supercomputing, wherein the device can be implemented using software and / or hardware and can generally be integrated into an electronic device. Figure 1 As shown, the method includes: Step 101: Acquire multiple sub-grid connected domains of a target model; wherein the multiple sub-grid connected domains are obtained based on the division of the overall surface grid connected domain of the target model, each sub-grid connected domain includes a connection surface shared by its adjacent sub-grid connected domain and a connection surface identifier of the connection surface, the connection surface identifier is obtained by processing a target data block based on a hash function, and the target data block is a data block generated after normalization processing of a global number sequence including a second preset number of grid points obtained by sorting the global numbers of each grid point in the surface grid units based on a first preset number of corresponding connection surfaces.

[0021] The highly scalable grid generation method for supercomputers provided by the embodiments of the present disclosure can be applied to master nodes in a distributed cluster, such as nodes in a distributed cluster of supercomputers.

[0022] The target model may be a model requiring mesh generation, such as a highly complex, large-scale geometric model, such as a model with a mesh size exceeding 10 billion. A submesh connected domain refers to a closed area obtained by partitioning the target model's overall surface mesh, whose boundaries include connected faces shared with other submesh connected domains. The target model's overall surface mesh connected domain may be a mesh connected domain generated by surface meshing the target model using relevant software based on the mesh base size and surface mesh type. Connected faces may be faces between adjacent submesh connected domains, or they may be internal faces. A connected face identifier is a characteristic marker of a connected face, such as a globally unique hash identifier used to identify the identity of the connected face. The first preset number may be a pre-set number of surface mesh cells, such as 3. A surface mesh cell is a basic unit used to discretely represent a connected face, such as a triangular cell, a quadrilateral cell, etc., which is not limited in this embodiment of the present disclosure. A mesh point is a vertex of a mesh cell. Global numbering may be performed by pre-scanning a grid point table of the target model's overall surface mesh connected domain and sequentially assigning a unique global number to each mesh point. For example, the global number can be 0, 1, 2, ..., and remains unchanged on any computing node for subsequent hash calculations and cross-node mapping. The second preset number can be a preset number of grid points used to construct the global number sequence, for example, the second preset number can be 9. The global number sequence can be a set of global numbers of the second preset number of grid points arranged in a certain order, such as ascending or descending.

[0023] In order to facilitate the understanding of the above steps, the overall surface mesh of the target model, multiple sub-grid connected domains and connection surfaces, and the generation process of the connection surfaces are first introduced in detail.

[0024] Step 1: Import the target model and divide the surface mesh.

[0025] First, import the geometry file of the target model (such as STP, IGES and other formats) into the relevant processing software, select the mesh type (such as triangular face mesh or quadrilateral face mesh), set key parameters according to the size of the geometric features, such as setting the basic size of the mesh, the minimum surface size and other parameters, then perform surface mesh division, and use the mesh quality inspection tool to check the mesh, such as checking for puncture surfaces, free edges, T-edges, disconnected mesh points and other problems. Finally, divide the entire surface mesh into a connected domain, that is, the overall surface mesh connected domain of the target model.

[0026] As an example, we'll use the example of generating 100 million grids for an oil storage base. Larger-scale grid generation follows a similar process, differing only in grid size and number of partitions. Assuming the target model's spatial extent is a cube with length, width, and height of 1850m, 1600m, and 300m, import the target model's geometry file into the relevant processing software. Select the triangular mesh type, set the mesh base size to 5mm, and perform surface meshing to generate the target model's overall surface mesh connected domain.

[0027] Step 2: Surface mesh partitioning and connection surface generation.

[0028] Since the target model is complex and the number of grids is too large, the overall surface grid connected domain of the target model is divided into multiple small blocks or regions, such as Figure 2 As shown, Figure 2 A schematic diagram of surface mesh partitioning provided for an embodiment of the present disclosure is provided. Taking a surface in the overall surface mesh connected domain as an example, the surface is divided into six regions, namely Region 1, Region 2…Region 6. The surfaces between adjacent regions are called internal surfaces, i.e., connecting surfaces. For example, the surface between Region 1 and Region 2 is a connecting surface. Specifically, the spatial positions of the grids on both sides of the connecting surface correspond, i.e., the spatial positions of the grid points on both sides coincide. Taking the connecting surface between Region 1 and Region 2 as an example, the connecting surface is divided into f1-f10 grid points. The length, width, and height of the overall surface mesh connected domain of the target model are calculated. The length, width, and height are equally divided according to the number of divisions required, so that the number of surface meshes after division is approximate.

[0029] Use the mesh splitting tool to divide the target model's overall mesh connectivity domain into n roughly equal areas. After splitting, the surfaces between different areas are defined as connecting surfaces, and the non-overlapping parts are set as solid wall boundaries. Copy the connecting surface into two parts, connecting surface-left and connecting surface-right, and divide the connecting surface-left and connecting surface-right into the left and right areas. Figure 2 As shown, the connecting surface (left) is divided into region 4, and the connecting surface (right) is divided into region 5. The mesh points are connected so that the divided regions form a complete connected domain (i.e., a subgrid connected domain). This allows for concurrent meshing of different regions on different compute nodes. Meshing requirements such as the minimum mesh size can also be flexibly defined for different regions, ensuring high-resolution model detail.

[0030] For example, Figure 3 A schematic diagram of the overall grid connected domain segmentation and a single sub-grid connected domain provided by the embodiment of the present disclosure is shown as follows: Figure 3As shown in the figure, the length, width, and height of the target model's overall surface mesh connected domain are divided into three parts, and the connected domain is segmented at the segmentation points. This results in the target model's overall surface mesh connected domain being divided into 27 sub-mesh connected domains. These 27 sub-mesh connected domains can be labeled as sub-mesh connected domain 1, sub-mesh connected domain 2, sub-mesh connected domain 3, and sub-mesh connected domain 27. Taking sub-mesh connected domain 1 as an example, it has three corresponding connection surfaces: connection surface 1, connection surface, and connection surface 3. The connection surfaces between the 27 sub-mesh connected domains are defined as connection surface 1, connection surface 2, connection surface 3, and connection surface N. The remaining surfaces not connected to other domains are defined as solid wall boundaries.

[0031] Before processing connected surfaces, the grid point table of the target model's overall surface mesh connectivity domain is scanned, sequentially assigning each grid point a unique global number. This global number persists across all compute nodes and is used for subsequent hash calculations and cross-node mapping. After the global number assignment is complete, each connected surface is replicated and assigned to two adjacent regions, forming 27 independent surface mesh connectivity domains (i.e., sub-mesh connectivity domains). The mesh structure within each sub-mesh connectivity domain is closed, making it suitable for parallel volume mesh generation and subsequent region stitching.

[0032] Step 3: Construct the connection surface identification.

[0033] During the initial surface meshing phase before volume meshing, all connected surfaces are identified and a globally unique identifier (i.e., surface identifier) ​​is generated for each connected surface. Since each connected surface is topologically defined by a set of globally numbered grid points, the surface identifier is generated by applying a standard sort to the global numbers of the grid points that make up the surface, followed by a hash function. This ensures consistent identifiers across different compute nodes, enabling efficient subsequent matching and merging. The generated surface identifier is embedded in the surface data structure and distributed along with the data as a surface attribute to each connected sub-mesh domain participating in the subsequent parallel volume meshing.

[0034] For example, the surface mesh units are triangular units, the first preset number is 3, and the second preset number is 9. For any connected surface, the global numbers of the grid points of all the triangular units are obtained. The global numbers of the three grid points of each triangular unit are rearranged in ascending order to obtain a triplet as follows: , sort all the triples in lexicographic order, select the first three triangle units in the sequence and record them as the representative triangle unit set; the global numbers of its grid points are 9 in total. If a duplicate value is encountered, only the global number of the grid point that appears first is retained, and new grid points are searched in sequence from the sorted triangle unit sequence until all 9 global numbers are collected. Sort the 9 global numbers again in ascending order to obtain a fixed-length integer sequence, such as (i.e., the global number sequence described above). Each global number is converted into a 4-byte unsigned integer encoded in little-endian byte order (i.e., normalized) in a fixed order and concatenated end-to-end to produce a 36-byte input data block (i.e., the target data block described above). The 36-byte data block is used as input to the hash function, and the resulting 32-bit unsigned integer is the connection surface identifier for the corresponding connection surface. The connection surface identifier is written into a dedicated field in the current connection surface data structure and distributed synchronously to each parallel computing node along with the mesh data of the sub-mesh connected domain.

[0035] Step 102: Send the multiple sub-grid connected domains to multiple computing nodes respectively; wherein the computing nodes are used to perform volume mesh division on the received sub-grid connected domains to obtain mesh data files.

[0036] In the disclosed embodiments, a compute node can be an independent processing unit in a distributed computing architecture, responsible for executing specific computing tasks. A mesh data file is a file that stores mesh information after a compute node completes volume meshing for a connected submesh domain. Specifically, a master node can distribute the multiple connected submesh domains to multiple compute nodes based on an even distribution principle, allowing each compute node to immediately generate a local volume mesh.

[0037] For example, Figure 4 As shown, Figure 4 A schematic diagram of the distribution of subgrid connected domains provided in an embodiment of the present disclosure. Assuming there are eight compute nodes, the master node distributes the aforementioned 27 subgrid connected domains to the eight compute nodes, allowing each node to perform volume meshing on its corresponding subgrid connected domain, generating corresponding mesh data files. For example, compute node 1 performs volume meshing on subgrid connected domains 1 through 4, generating mesh data files 1 through 4.

[0038] In the process of constructing a volume mesh by processing multiple sub-grid connected domains in parallel on multiple computing nodes, each computing node receives surface data containing connection surface identifiers and incorporates them into the local volume mesh generation process. For each sub-grid connected domain, the computing node retains the connection surface identifiers of its connection surfaces without modifying them, ensuring that copies belonging to the same pair of connection surfaces can be identified later based on the connection surface identifiers.

[0039] Step 103: Receive connection surface data sent by multiple computing nodes respectively, and construct a connection surface grid point number mapping table based on the connection surface data; wherein the connection surface grid point number mapping table includes the connection surface identifier, the global number of each grid point in the connection surface, and the correspondence between the numbers generated by the computing node for each grid point in the connection surface and each surface grid unit.

[0040] The connection surface data includes the connection surface identifier, the three-dimensional coordinates of each grid point in the connection surface, and the number generated by the computing node for each grid point and each surface grid unit in the connection surface. Specifically, the connection surface data can be unmerged connection surface data. The three-dimensional coordinates of each grid point in the connection surface can be the geometric position coordinates of the grid point, usually expressed as (x, y, z). The number generated by the computing node for each grid point and each surface grid unit in the connection surface refers to the grid points and each surface grid unit that each computing node self-numbers for the local grid generation process within the sub-grid connected domain.

[0041] In the embodiment of the present disclosure, each computing node packages all connection surface data of the computing node in units of sub-grid connected domains and sends them to the master node, so that the master node collects unmerged connection surface data from each computing node and constructs a connection surface grid point mapping table based on the connection surface data.

[0042] In the embodiment of the present disclosure, since the computing node renumbers each grid point and each grid unit in the process of meshing the sub-grid connected domain, a connection surface grid point number mapping table is constructed. Based on the connection surface identifier included in the connection surface grid point number mapping table, the global number of each grid point in the connection surface, and the correspondence between the numbers generated by the computing node for each grid point and each surface grid unit in the connection surface, the duplicate grid points and duplicate grid units under the same connection surface identifier are determined, which facilitates the subsequent deletion of the duplicate grid points and duplicate grid units under the same connection surface identifier.

[0043] In an optional embodiment, the above-mentioned connection surface data sent by multiple computing nodes are received respectively, and a connection surface grid point number mapping table is constructed based on the connection surface data, including: constructing a hash table with the connection surface identifier as the key, inserting each connection surface data into the hash table in the order of receipt, if the number of connection surfaces corresponding to the same connection surface identifier is 2, then determining that the two connection surfaces under the same connection surface identifier are the same connection surface, and establishing a correspondence between the connection surface identifier, the global number of each grid point in the connection surface, and the number generated by the computing node for each grid point in the connection surface and each surface grid unit under the same connection surface identifier as a connection surface grid point number mapping table.

[0044] In the embodiment of the present disclosure, the master node constructs a hash table with the connection surface identifier as the key, and inserts each surface record (i.e., connection surface data) into the hash table in the order of receipt. When the number of records corresponding to the same key reaches 2, it indicates that the same connection surface is found. Thus, under the same connection surface identifier, the corresponding relationship between the connection surface identifier, the global number of each grid point in the connection surface, and the number generated by the computing node for each grid point in the connection surface and each surface grid unit is established as a connection surface grid point number mapping table. It can be seen that the embodiment of the present disclosure proposes a method for efficient pairing of parallel body mesh connection surfaces and synchronous update of grid node numbers based on the combination of connection surface identifiers and hash mapping structures. By generating a globally unique connection surface identifier based on the global number set of grid points constituting the connection surface in the initial surface mesh stage, consistent identification and efficient pairing of connection surfaces across subdomains are achieved. The recognition efficiency of connection surfaces is improved.

[0045] In an optional embodiment, if the number of connection surfaces corresponding to the same connection surface identifier is 2, then the two connection surfaces under the same connection surface identifier are determined to be the same connection surface, including: if the number of connection surfaces corresponding to the same connection surface identifier is 2, then a group of connection surfaces to be matched corresponding to the same connection surface identifier is determined, and the grid points of the two connection surfaces in the connection surfaces to be matched are sorted according to preset rules, and the three-dimensional coordinate difference of the grid points corresponding to the two connection surfaces in the connection surfaces to be matched is compared point by point, and if the difference is less than or equal to the preset threshold, the two connection surfaces are determined to be the same connection surface.

[0046] The pair of connection surfaces to be matched refers to two connection surfaces with the same connection surface identifier that are to be verified as the same connection surface. The preset rule can be a pre-set rule for sorting the grid points in the connection surface, such as ascending order, descending order, etc. The preset threshold refers to the maximum allowable spatial distance error used to determine the position consistency of the grid points of the two connection surfaces. For example, the preset threshold can be set to m.

[0047] In the embodiment of the present disclosure, the master node constructs a hash table with the connection face identifier as the key, and inserts each face record (i.e., connection face data) into the hash table in the order of receipt. When the number of records corresponding to the same key reaches 2, it is determined that the key has found a pair of connection faces to be matched (i.e., a pair of connection faces to be matched) and proceeds to the next step of processing. A list of grid points for each pair of successfully matched connection faces is extracted. First, the vertices of the two connection faces are sorted according to a preset rule (e.g., in ascending order of x, y, and z coordinates); then, the sorted vertex pairs are compared one by one, based on whether the spatial distance (e.g., the three-dimensional coordinate difference mentioned above) is within the tolerance range (i.e., the preset threshold mentioned above). If the spatial distance is less than or equal to m, determine whether it is a corresponding point, such as comparing the three-dimensional coordinate difference of the corresponding grid points of the two connected surfaces point by point. If the distance of all grid points is ≤ m, the two surfaces are confirmed to be the same connecting surface. If any grid point is out of tolerance, the surface pair is recorded in the "Geometric Conflict Table" for subsequent manual inspection. For each pair of successfully matched grid points, its point number in both grid points is recorded. Ultimately, a mapping table of grid point numbers for a pair of connecting surfaces with the same connecting surface identifier (i.e., the connecting surface grid point number mapping table) is established, providing a consistent index relationship for subsequent grid unit number reconstruction and data merging.

[0048] As can be seen, the disclosed embodiments can effectively address key technical issues such as inconsistent connection surface identification, inconsistent grid point numbering, and difficulty clearing redundant grids during large-scale parallel mesh merging. By constructing a unique connection surface identifier (i.e., a connection surface identifier) ​​based on the global numbering of grid points, combined with an efficient hash mapping and tolerance judgment mechanism, consistent identification of connection surfaces across subdomains and the automatic construction of point-to-point mapping relationships are achieved. This mechanism eliminates the need to rely on geometric coordinate matching, avoids the risk of mismatching due to floating-point precision errors, and significantly improves the stability and automation of mesh merging.

[0049] During the mesh merging phase, a hash table is used to quickly match connected faces with the same connection face identifier. Through grid point sorting and tolerance judgment, precise point-to-point mapping relationships are established, allowing point numbering to be unified and redundant faces to be eliminated. This effectively addresses key issues in parallel mesh merging, such as difficulty identifying connected faces, inconsistent point numbers, and redundant data cleaning, significantly improving the automation and data consistency of large-scale mesh splicing.

[0050] Step 104: Delete duplicate grid points and duplicate surface grid units based on the connection surface grid point number mapping table to obtain merged connection surface data, and send the merged connection surface data to the corresponding computing node, so that each computing node obtains a grid data file without duplicate grid points and duplicate surface grid units, and then completes the writing of the overall grid file of the target model in parallel.

[0051] The merged connection surface data refers to the connection surface data obtained after deleting duplicate grid points and duplicate surface grid units based on the connection surface grid point number mapping table during the connection surface merging process.

[0052] In the disclosed embodiment, the master node deletes duplicate connection surfaces (i.e., duplicate points and duplicate surface grid units) according to the connection surface grid point number mapping table, releases redundant storage, and ultimately constructs a unified global grid to ensure the consistency of connection surface pairing and the correctness of grid point number uniqueness.

[0053] In one optional embodiment, after obtaining a grid data file containing no duplicate grid points and no duplicate surface grid cells, each computing node renumbers each grid point, each surface grid cell, and each volume grid cell in the corresponding grid data file to ensure continuous and globally unique numbers. For example, each grid point, each surface grid cell, and each volume grid cell may be renumbered in the order of the grid point coordinates and the grid point index of the corresponding grid cell may be updated with the new grid point number to ensure continuous and globally unique numbers.

[0054] In an optional implementation, each computing node writes the grid data files of non-duplicate grid points and non-duplicate surface grid units in parallel to the corresponding file partitions according to the line number interval based on the file partitioning strategy, so as to complete the writing of the overall grid file of the target model in parallel.

[0055] The file partitioning strategy is a strategy for writing grid data files for each non-duplicate grid point and non-duplicate grid cell to the corresponding file partition in parallel. The row number interval is the range of consecutive rows corresponding to each file partition. It is used to define the specific location of the data written to that file partition within the overall grid file. This range is determined by the number of rows in the grid data file processed by the corresponding compute node.

[0056] In order to optimize the file writing efficiency, the number of rows of each grid data file is calculated based on the number of grids, and parallel writing of the same grid file is achieved. Specifically, multiple computing nodes are used, each node runs an independent process, and processes multiple data blocks in parallel. Assume that there are n nodes running n processes, and each process is responsible for writing the data blocks in the node to a specific area of ​​the file. Figure 5 As shown, Figure 5 A schematic diagram of a parallel writing overall grid file provided by an embodiment of the present disclosure, such as Figure 5 As shown in the figure, assume there are four computing nodes, namely computing node N1, computing node N2, computing node N3, and computing node N4. Computing node N1 runs process 1, computing node N2 runs process 2, computing node N3 runs process 3, and computing node N4 runs process 4. The total number of rows in the overall grid file of the target model is P4. Then, the overall grid file can be divided into four partitions. Process 1 corresponds to the first file partition and writes rows 1 to P1 of the overall grid file; process 2 corresponds to the second file partition and writes rows P1 to P2 of the overall grid file, and so on. Specifically, the point data, surface grid cell data, volume grid data, etc. in each computing node can be written to the corresponding file partition. In this way, each process can process its corresponding file partition in parallel, achieving efficient simultaneous write operations, thereby significantly reducing the time it takes to write the overall grid file.

[0057] For example, if each computing node obtains mesh data files with no duplicate mesh points and no duplicate surface mesh cells named Volume 1, Volume 2, Volume 3, ... Volume 27, and the rows in the mesh data files are row 1, row 2, row 3, ... row 27, the overall mesh file is divided into 27 parts. The first process corresponds to the first file partition and writes the contents of Volume 1 to rows 1 to row 1 of the file. The second process corresponds to the second file partition and writes the contents of Volume 2 to rows 1+1 to row 2 of the file. This process is analogous and completes writing the overall mesh file in parallel.

[0058] In related technologies, grid file writing usually adopts a serial strategy, which is difficult to cope with the data processing needs of hundreds of millions to tens of billions of units, and has also become a key bottleneck restricting the improvement of grid generation performance. The file partitioning strategy based on the estimation of the number of grid data rows proposed in the embodiment of the present disclosure can realize a parallel partitioning writing mechanism for the same grid file by multiple computing nodes according to the row number interval, effectively solving the writing bottleneck problem in large-scale grid data output and significantly improving writing efficiency and parallel scalability.

[0059] Taking the actual application scenario as an example, Figure 6 A schematic diagram of the overall model provided in the embodiment of the present disclosure. Figure 6 After the connected domain of the geometric model corresponding to the model in is divided, multiple sub-grid connected domains can be obtained, such as Figure 7 As shown, Figure 7 This is a schematic diagram of the overall model partitioning provided by the embodiment of the present disclosure. Further, each partition (i.e., the connected domain of the sub-grid) can be divided into volume meshes, and after the division is completed, the volume meshes can be merged to obtain the volume mesh of the overall model, such as Figure 8 As shown, Figure 8 A schematic diagram of a model body mesh provided in an embodiment of the present disclosure.

[0060] The highly scalable grid generation solution for supercomputing provided by the embodiment of the present disclosure obtains multiple sub-grid connected domains of a target model; wherein the multiple sub-grid connected domains are obtained based on the division of the overall surface grid connected domain of the target model, each sub-grid connected domain includes a connection surface shared by its adjacent sub-grid connected domain and a connection surface identifier of the connection surface, the connection surface identifier is obtained by processing a target data block based on a hash function, the target data block is a data block generated after standardization processing of a global number sequence including a second preset number of grid points obtained by sorting the global numbers of each grid point in the surface grid units of the corresponding first preset number of connection surfaces, and the multiple sub-grid connected domains are respectively sent to multiple computing nodes; wherein the computing node is used to receive the sub-grids it receives The connected domain is divided into a volume mesh to obtain a mesh data file. The master node receives the connection surface data sent by multiple computing nodes respectively, and constructs a connection surface grid point number mapping table based on the connection surface data; wherein the connection surface grid point number mapping table includes the connection surface identifier, the global number of each grid point in the connection surface, and the correspondence between the numbers generated by the computing node for each grid point in the connection surface and each surface grid unit. Based on the connection surface grid point number mapping table, duplicate grid points and duplicate surface grid units are deleted to obtain merged connection surface data, and the merged connection surface data is sent to the corresponding computing node, so that each computing node obtains a grid data file without duplicate grid points and duplicate surface grid units, and then completes the writing of the overall grid file of the target model in parallel. By adopting the above technical solution, in the initial surface mesh stage, a connection surface identifier is constructed based on the global number of each grid point in a preset number of surface mesh units of the connection surface, so that the connection surface with the same connection surface identifier is quickly identified based on the connection surface identifier, thereby improving the recognition efficiency of the connection surface, and a connection surface grid point number mapping table is constructed based on the connection surface data to delete duplicate grid points and duplicate surface mesh units to obtain merged connection surface data, and the merged connection surface data is sent to the corresponding computing node, so that each computing node obtains a grid data file without duplicate grid points and duplicate surface mesh units, and then completes the writing of the overall grid file of the target model in parallel, thereby improving the efficiency of connection surface merging, making the merging of connection surfaces independent of global search, and improving the generation efficiency and scalability of high-resolution grids in complex scenarios.

[0061] The highly scalable mesh generation solution for supercomputers provided by the disclosed embodiments divides the overall surface mesh connected domain of a complex geometric model (i.e., the target model) into multiple sub-mesh connected domains. Within the distributed parallel environment of the supercomputer, multiple compute nodes are used to generate the partitioned volume meshes in parallel. This solution, combined with partition-level quality repair and mesh splicing methods, achieves high-quality, scalable, and large-scale mesh generation. By leveraging the multi-node cluster architecture and accessing the local memory of each compute node through a communication mechanism, this solution effectively reduces the memory pressure on a single compute node, breaking through the generation bottleneck of related software at mesh scales exceeding 10 billion. This solution enables volume mesh generation capabilities to scale linearly with hardware resources, making it particularly suitable for large-scale simulations in complex scenarios.

[0062] The highly scalable grid generation solution for supercomputing provided by the embodiment of the present disclosure divides the overall surface grid connected domain of the target model into sub-grid connected domains, performs volume grid generation and grid quality repair on the divided surface grid, and then merges the generated block volume grids to complete the high-quality generation of the overall grid. Since the volume grids of a single partition are relatively small in number, they are easy to view, repair and adjust, which can ensure high grid quality and ensure that the generated volume grid can capture and reflect the details and features of the target model with high resolution. By generating a large number of computing nodes in parallel, the number of grids processed by a single computing node is reduced, and the memory usage of each process during grid generation is reduced, which successfully solves the memory bottleneck in large-scale grid processing and breaks through the limitation of grid scale, so that it can process ultra-large-scale volume grids with hardware support and is suitable for a wider range of applications.

[0063] In some embodiments, in the process of multiple computing nodes processing multiple sub-grid connected domains in parallel, performance indicators reported by each computing node are received, and based on the performance indicators, it is determined whether there are computing nodes with unbalanced loads; if there are computing nodes with unbalanced loads, a pause instruction is sent to the multiple computing nodes so that each computing node enters a waiting state after the currently processed sub-grid connected domain is completed; unprocessed sub-grid connected domains reported by the multiple computing nodes are received, and the unprocessed sub-grid connected domains are re-divided based on the number of unprocessed sub-grid connected domains and the performance indicators of each computing node; the correspondence between each computing node and each unprocessed sub-grid connected domain is determined, and the correspondence is sent to each computing node so that each computing node performs volume mesh division on the unprocessed sub-grid connected domain based on the correspondence; wherein the performance indicator includes at least one of memory occupancy, volume mesh unit generation progress, and the number of sub-grid connected domains currently to be processed.

[0064] Performance indicators are indicators used to reflect the performance of computing nodes. For example, performance indicators can include at least one of memory usage, volume grid unit generation progress, and the number of sub-grid connected domains currently to be processed. Memory usage refers to the percentage of physical memory used by a single computing node to the total available memory. Volume grid unit generation progress refers to the processing progress of the sub-grid connected domains assigned to the current computing node (e.g., M out of N completed), reflecting the completion of the volume meshing task for that sub-grid connected domain. The number of sub-grid connected domains currently to be processed refers to the number of sub-grid connected domains that the current node has not yet processed. Computing nodes with unbalanced loads can be those whose grid generation progress is significantly lower than the average (e.g., lower than 80% of the average) or those whose memory usage is significantly higher than other computing nodes (e.g., more than 20% higher).

[0065] In the disclosed embodiment, after receiving unprocessed sub-mesh connected domains reported by multiple computing nodes, the master node re-divides the unprocessed sub-mesh connected domains based on the number of unprocessed sub-mesh connected domains and the performance indicators of each computing node. For example, the unprocessed sub-mesh connected domains may be divided proportionally based on the performance indicators of each computing node. Furthermore, if the performance indicators of the computing nodes are similar (i.e., the difference in the performance indicators of the computing nodes is less than a preset difference), the unprocessed sub-mesh connected domains may be evenly distributed among the corresponding computing nodes.

[0066] In the parallel volume mesh generation phase of the disclosed embodiment, multiple segmented subnetwork connected domains, such as Region 1, Region 2, …, and Region M, are evenly distributed across N compute nodes, so that each compute node initially receives M / N subnetwork connected domains. Each subnetwork connected domain serves as an independent volume mesh generation unit and is independent of the state of other subnetwork connected domains.

[0067] Each compute node concurrently initiates the volume mesh generation task for each subnetwork's connected domain. During the mesh generation process, each compute node periodically collects local operational status, including but not limited to memory usage, volume mesh unit generation progress, and the number of subnetwork connected domains currently being processed. Each compute node reports these performance metrics to the master node via a communication interface.

[0068] Based on the collected performance metrics, the master node calculates the average load level of all compute nodes. If the mesh generation progress of some compute nodes is significantly slower than the average (e.g., less than 80% of the average), or if the memory usage of some compute nodes is significantly higher than that of other compute nodes (e.g., more than 20% higher), the current partition is deemed to have a load imbalance. Once this determination is triggered, the system issues a task pause instruction, and all compute nodes enter a waiting state after completing the connected domain of the sub-mesh currently being processed, preparing for the next stage of task redistribution.

[0069] Each computing node reports the number of the sub-grid connected domain that has not yet been processed to the master node. The master node can divide the sub-grid connected domain into equal parts according to the number of sub-grid connected domains that each computing node has not yet started to process, or divide the sub-grid connected domain that each computing node has not yet started to process according to the load status of each computing node. Other methods can also be used to divide the sub-grid connected domain that each computing node has not yet started to process. The embodiments of the present disclosure do not impose any restrictions. After the redivision is completed, a new "sub-grid connected domain-computing node" allocation table is generated and synchronized to all computing nodes. All computing nodes continue to start the volume mesh generation process based on the new task allocation results. At this stage, the number of volume mesh units generated locally by each computing node is more balanced, avoiding the situation where some computing nodes are completed early and some computing nodes are trailing for a long time, significantly improving the parallel efficiency of the overall mesh generation.

[0070] For example, the master node receives performance metrics reported by each compute node every 10 seconds. If a compute node's generation rate falls below 80% of the global average, or its memory usage exceeds 20% of the average, the master node issues a "pause redistribution" command. Each compute node suspends processing after completing the currently processed subgrid connected domain and reports the numbers of the subgrid connected domains for which volume mesh generation has not yet started to the master node. The master node then redistributes the remaining workload among the eight nodes and publishes a new mapping table between subgrid connected domains and compute nodes. Computing nodes resume volume mesh generation based on the new table until all subgrid connected domains are complete. This ensures that the load on all compute nodes always converges within ±20%, avoiding "tailing" (smearing) and ultimately generates 27 volume mesh files (the aforementioned mesh data files).

[0071] Therefore, to address the load imbalance issue, the disclosed embodiments utilize the aforementioned parallel volume mesh generation method based on dynamic performance monitoring and task reallocation. Based on the even distribution of connected sub-mesh domains, this method introduces a mechanism for periodic collection of local operating status of computing nodes and centralized analysis by the master node, enabling real-time monitoring of key performance indicators such as memory usage and mesh generation progress. When the system detects a significant load imbalance, it automatically triggers task suspension and dynamic reallocation of remaining sub-regions, effectively resolving the tailing phenomenon in parallel volume mesh generation caused by initial uneven distribution, significantly improving the overall efficiency and resource utilization of large-scale parallel volume mesh generation.

[0072] The disclosed embodiments improve task scheduling efficiency and computing resource utilization during large-scale parallel volume mesh generation. By periodically monitoring the local performance status of computing nodes, computational sluggishness and load bottlenecks caused by uneven initial task division can be promptly detected and corrected. Compared to traditional methods, the disclosed embodiments can adaptively adjust the load of each computing node during operation, achieving dynamic balance in resource allocation, shortening overall mesh generation time, and improving parallel scalability. This approach is suitable for scenarios involving the generation of tens of billions of mesh units.

[0073] Example 2: Figure 9 This is a schematic diagram of the structure of a highly scalable grid generation device for supercomputing provided by an embodiment of the present disclosure. The device can be implemented by software and / or hardware and can generally be integrated into electronic devices. Figure 9 As shown, including: Acquisition module 901 is configured to acquire multiple sub-grid connected domains of a target model; wherein the multiple sub-grid connected domains are obtained by dividing the target model's overall surface grid connected domain, each sub-grid connected domain including a connection surface shared by its adjacent sub-grid connected domain and a connection surface identifier of the connection surface, the connection surface identifier being obtained by processing a target data block based on a hash function, the target data block being generated by normalizing a global number sequence including a second preset number of grid points obtained by sorting the global numbers of the grid points in the surface grid units corresponding to the first preset number of connection surfaces; A first sending module 902 is configured to send the plurality of sub-grid connected domains to a plurality of computing nodes respectively; wherein the computing nodes are configured to perform volume mesh division on the received sub-grid connected domains to obtain mesh data files; A first receiving module 903 is configured to receive connection surface data respectively transmitted by a plurality of computing nodes, and construct a connection surface grid point number mapping table based on the connection surface data; wherein the connection surface grid point number mapping table includes a connection surface identifier, a global number of each grid point in the connection surface, and a correspondence between numbers generated by the computing node for each grid point in the connection surface and each grid cell in the surface; The deletion module 904 is used to delete duplicate grid points and duplicate surface grid units based on the connection surface grid point number mapping table to obtain merged connection surface data, and send the merged connection surface data to the corresponding computing node, so that each computing node obtains a grid data file without duplicate grid points and duplicate surface grid units, and then completes the writing of the overall grid file of the target model in parallel.

[0074] In an optional embodiment, the device further includes: A second receiving module is configured to receive performance indicators reported by each computing node during the process of the multiple computing nodes processing the multiple sub-grid connected domains in parallel, and determine whether there is a computing node with an unbalanced load based on the performance indicators; The second sending module is used to send a pause instruction to multiple computing nodes if there is a computing node with unbalanced load, so that each computing node enters a waiting state after the connected domain of the sub-grid currently being processed is completed; a third receiving module, configured to receive unprocessed subgrid connected domains reported by a plurality of computing nodes, and re-divide the unprocessed subgrid connected domains based on the number of unprocessed subgrid connected domains and the performance index of each computing node; A determination module is configured to determine a correspondence between each computing node and each unprocessed sub-grid connected domain, and to send the correspondence to each computing node so that each computing node performs volume mesh division on the unprocessed sub-grid connected domain based on the correspondence; wherein the performance indicator includes at least one of a memory usage rate, a progress of generating volume mesh units, and a number of sub-grid connected domains currently to be processed.

[0075] In an optional implementation, the connection surface data includes a connection surface identifier, three-dimensional coordinates of each grid point in the connection surface, and numbers generated by the computing node for each grid point and each surface grid unit in the connection surface.

[0076] In an optional implementation, the first receiving module 903 includes: A construction submodule is used to construct a hash table using the connection surface identifier as a key, and insert each connection surface data into the hash table in the order in which it is received; A first determining submodule is configured to determine that the two connection surfaces corresponding to the same connection surface identifier are the same connection surface if the number of connection surfaces corresponding to the same connection surface identifier is 2; A submodule is established to establish the correspondence between the connection surface identifier, the global number of each grid point in the connection surface, and the number generated by the computing node for each grid point and each surface grid unit in the connection surface under the same connection surface identifier, as a connection surface grid point number mapping table.

[0077] In an optional implementation, the first determining submodule includes: A second determining submodule is configured to determine a group of to-be-matched connection surfaces corresponding to the same connection surface identifier if the number of connection surfaces corresponding to the same connection surface identifier is 2; A sorting submodule is used to sort the grid points of two connection surfaces in the connection surfaces to be matched according to preset rules; A comparison submodule is used to compare the three-dimensional coordinate differences of the grid points corresponding to the two connection surfaces in the surface to be connected point by point; The third determining submodule is configured to determine that the two connection surfaces are the same connection surface if the difference is less than or equal to a preset threshold.

[0078] In an optional embodiment, after each computing node obtains a grid data file with no repeated grid points and no repeated surface grid units, it renumbers each grid point, each surface grid unit, and each body grid unit in its corresponding grid data file so that the numbers are continuous and globally unique.

[0079] In an optional implementation, each computing node writes the grid data files of non-duplicate grid points and non-duplicate surface grid units in parallel to the corresponding file partitions according to the line number interval based on the file partitioning strategy, so as to complete the writing of the overall grid file of the target model in parallel.

[0080] The highly scalable grid generation device for supercomputing provided by the embodiments of the present disclosure can execute the highly scalable grid generation method for supercomputing provided by any embodiment of the present disclosure, and has the corresponding functional modules and beneficial effects of the execution method.

[0081] Example 3: The embodiments of the present disclosure also provide a computer program product, which includes a computer program / instructions. When the computer program / instructions are executed by a processor, the highly scalable grid generation method for supercomputing described in the embodiments of the present disclosure is implemented.

[0082] Example 4: Figure 10 A schematic structural diagram of an electronic device provided in an embodiment of the present disclosure.

[0083] The following specific reference Figure 10 , which shows a schematic structural diagram of an electronic device 1000 suitable for implementing the embodiments of the present disclosure. The electronic device 1000 in the embodiments of the present disclosure may include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, personal digital assistants (PDAs), tablet computers (PADs), portable media players (PMPs), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 10 The electronic device shown is only an example and should not limit the functions and scope of use of the embodiments of the present disclosure.

[0084] like Figure 10As shown, electronic device 1000 may include a processing device 1001 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes based on programs stored in read-only memory (ROM) 1002 or programs loaded from storage device 1008 into random access memory (RAM) 1003. RAM 1003 also stores various programs and data required for the operation of electronic device 1000. Processing device 1001, ROM 1002, and RAM 1003 are interconnected via a bus 1004. An input / output (I / O) interface 1005 is also connected to bus 1004.

[0085] Typically, the following devices may be connected to the I / O interface 1005: an input device 1006 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 1007 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 1008 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1009. The communication device 1009 may allow the electronic device 1000 to communicate with other devices wirelessly or by wire to exchange data. Figure 10 The electronic device 1000 is shown with various devices, but it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed instead.

[0086] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes a program code 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 device 1009, or installed from the storage device 1008, or installed from the ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the highly scalable grid generation method for supercomputing of the embodiment of the present disclosure are performed.

[0087] It should be noted that the computer-readable medium described above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to, an electrical connection having one or more conductors, a portable computer disk, a hard disk, random access memory, read-only memory, erasable programmable read-only memory (EPROM), optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, device, or component. In the present disclosure, a computer-readable signal medium may include a data signal transmitted in baseband or as part of a carrier wave, which carries computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device. Program code embodied on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wires, optical cables, radio frequency (RF), or any suitable combination thereof.

[0088] In some embodiments, the client and server can communicate using any currently known or later developed network protocol, such as the HyperText Transfer Protocol (HTTP), and can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or later developed network.

[0089] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.

[0090] The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device is enabled to: obtain multiple sub-grid connected domains of the target model; wherein the multiple sub-grid connected domains are obtained based on the division of the overall surface grid connected domain of the target model, each sub-grid connected domain includes a connection surface shared by its adjacent sub-grid connected domain and a connection surface identifier of the connection surface, the connection surface identifier is obtained by processing the target data block based on a hash function, the target data block is a data block generated after the global number sequence including the second preset number of grid points obtained by sorting the global number of each grid point in the surface grid unit of the first preset number of corresponding connection surfaces is normalized, and the multiple sub-grid connected domains are respectively sent to multiple computing nodes; wherein the computing nodes The point is used to perform volume mesh division on the connected domain of the sub-grid it receives to obtain a mesh data file. The master node receives the connection surface data sent by multiple computing nodes respectively, and constructs a connection surface grid point number mapping table based on the connection surface data; wherein the connection surface grid point number mapping table includes the connection surface identifier, the global number of each grid point in the connection surface, and the correspondence between the numbers generated by the computing node for each grid point and each surface grid unit in the connection surface. Based on the connection surface grid point number mapping table, the repeated grid points and repeated surface grid units are deleted to obtain the merged connection surface data, and the merged connection surface data is sent to the corresponding computing node, so that each computing node obtains a grid data file without repeated grid points and repeated surface grid units, and then completes the writing of the overall grid file of the target model in parallel.

[0091] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages, or a combination thereof, including, but not limited to, object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network or a wide area network, or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0092] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the module, program segment, or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of the boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0093] The units involved in the embodiments described in this disclosure may be implemented in software or hardware, wherein the name of a unit does not necessarily limit the unit itself.

[0094] The functions described above may be at least partially performed by one or more hardware logic components. For example, and without limitation, exemplary types of hardware logic components that may be used include: Field-Programmable Gate Array (FPGA), Application Specific Integrated Circuit (ASIC), Application Specific Standard Parts (ASSP), System on Chip (SOC), Complex Programmable Logic Device (CPLD), and the like.

[0095] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or apparatus. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or apparatus, or any suitable combination of the foregoing. More specific examples of machine-readable storage media may include an electrical connection based on one or more wires, a portable computer disk, a hard disk, a random access memory, a read-only memory, an erasable programmable read-only memory, a flash memory, an optical fiber, a portable compact disk read-only memory, an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0096] It is understandable that before using the technical solutions disclosed in the embodiments of this disclosure, the type, scope of use, usage scenarios, etc. of the information involved in this disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.

[0097] The above description is merely a preferred embodiment of the present disclosure and an illustration of the technical principles employed. Those skilled in the art should understand that the scope of the present disclosure is not limited to technical solutions formed by specific combinations of the aforementioned technical features. It also encompasses other technical solutions formed by any combination of the aforementioned technical features or their equivalents, without departing from the scope of the above disclosure. For example, a technical solution formed by replacing the aforementioned features with (but not limited to) technical features with similar functions disclosed in this disclosure.

[0098] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details have been included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.

[0099] Although the subject matter has been described in language specific to structural features and / or methodological logical acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are merely example forms of implementing the claims.

Claims

1. A highly scalable grid generation method for supercomputing, characterized in that: The method comprises: Acquire multiple sub-grid connected domains of a target model; wherein the multiple sub-grid connected domains are obtained by dividing the target model based on the overall surface grid connected domain, each sub-grid connected domain includes a connection surface shared by an adjacent sub-grid connected domain and a connection surface identifier of the connection surface, the connection surface identifier being obtained by processing a target data block based on a hash function, the target data block being generated by normalizing a global number sequence including a second preset number of grid points obtained by sorting the global numbers of the grid points in the surface grid units corresponding to the first preset number of connection surfaces; Sending the plurality of sub-grid connected domains to a plurality of computing nodes respectively; wherein the computing nodes are used to perform volume mesh division on the received sub-grid connected domains to obtain mesh data files; receiving connection surface data respectively sent by the plurality of computing nodes, and constructing a connection surface grid point number mapping table based on the connection surface data; wherein the connection surface grid point number mapping table includes a connection surface identifier, a global number of each grid point in the connection surface, and a correspondence between numbers generated by the computing node for each grid point in the connection surface and each surface grid unit; Based on the connection surface grid point number mapping table, duplicate grid points and duplicate surface grid units are deleted to obtain merged connection surface data, and the merged connection surface data is sent to the corresponding computing node, so that each computing node obtains a grid data file without duplicate grid points and duplicate surface grid units, and then completes the writing of the overall grid file of the target model in parallel.

2. The method according to claim 1, characterized in that The method further comprises: In the process of the multiple computing nodes processing the multiple sub-grid connected domains in parallel, receiving performance indicators reported by each computing node, and determining whether there is a computing node with unbalanced load based on the performance indicators; If there are computing nodes with unbalanced loads, a pause instruction is sent to the plurality of computing nodes, so that each computing node enters a waiting state after the connected domain of the sub-grid currently being processed is completed; receiving unprocessed subgrid connected domains respectively reported by the plurality of computing nodes, and re-dividing the unprocessed subgrid connected domains based on the number of the unprocessed subgrid connected domains and the performance index of each computing node; Determine a correspondence between each computing node and each unprocessed sub-grid connected domain, and send the correspondence to each computing node so that each computing node performs volume mesh division on the unprocessed sub-grid connected domain based on the correspondence; wherein the performance indicator includes at least one of a memory occupancy rate, a progress of generating volume mesh units, and a number of sub-grid connected domains currently to be processed.

3. The method according to claim 1, characterized in that The connection surface data includes a connection surface identifier, three-dimensional coordinates of each grid point in the connection surface, and numbers generated by the calculation node for each grid point and each surface grid unit in the connection surface.

4. The method according to claim 3, characterized in that The receiving the connection surface data respectively sent by the plurality of computing nodes and constructing a connection surface grid point number mapping table based on the connection surface data includes: Constructing a hash table with the connection surface identifier as a key, and inserting each connection surface data into the hash table in the order in which it is received; If the number of connection surfaces corresponding to the same connection surface identifier is 2, determining that the two connection surfaces under the same connection surface identifier are the same connection surface; A corresponding relationship between the connection surface identifier, the global number of each grid point in the connection surface, and the number generated by the computing node for each grid point and each surface grid unit in the connection surface under the same connection surface identifier is established as a connection surface grid point number mapping table.

5. The method according to claim 4, characterized in that If the number of connection surfaces corresponding to the same connection surface identifier is 2, determining that the two connection surfaces corresponding to the same connection surface identifier are the same connection surface includes: If the number of connection surfaces corresponding to the same connection surface identifier is 2, determining a group of connection surfaces to be matched corresponding to the same connection surface identifier; Sort the grid points of the two connection surfaces of the surfaces to be connected respectively according to a preset rule; Comparing point by point the three-dimensional coordinate differences of the grid points corresponding to the two connection surfaces of the surfaces to be connected; If the difference is less than or equal to a preset threshold, it is determined that the two connection surfaces are the same connection surface.

6. The method according to claim 1, characterized in that After obtaining the grid data file without duplicate grid points and duplicate surface grid units, each computing node renumbers each grid point, each surface grid unit and each volume grid unit in the corresponding grid data file so that the numbers are continuous and globally unique.

7. The method according to claim 1, characterized in that Based on the file partitioning strategy, each computing node writes the grid data files of the non-repeated grid points and the non-repeated surface grid units in parallel to the corresponding file partition according to the line number interval, so as to complete the writing of the overall grid file of the target model in parallel.

8. A highly scalable grid generation device for supercomputing, characterized in that: The device comprises: an acquisition module configured to acquire a plurality of sub-grid connected domains of a target model; wherein the plurality of sub-grid connected domains are obtained by dividing the target model based on the overall surface grid connected domain, each sub-grid connected domain including a connection surface shared by an adjacent sub-grid connected domain and a connection surface identifier of the connection surface, the connection surface identifier being obtained by processing a target data block based on a hash function, the target data block being generated by normalizing a global number sequence including a second preset number of grid points obtained by sorting the global numbers of the grid points in the surface grid units corresponding to the first preset number of connection surfaces; A first sending module is used to send the plurality of sub-grid connected domains to a plurality of computing nodes respectively; wherein the computing nodes are used to perform volume mesh division on the received sub-grid connected domains to obtain mesh data files; A first receiving module is configured to receive connection surface data respectively transmitted by the plurality of computing nodes, and construct a connection surface grid point number mapping table based on the connection surface data; wherein the connection surface grid point number mapping table includes a connection surface identifier, a global number of each grid point in the connection surface, and a correspondence between numbers generated by the computing node for each grid point in the connection surface and each surface grid unit; A deletion module is used to delete duplicate grid points and duplicate surface grid units based on the connection surface grid point number mapping table to obtain merged connection surface data, and send the merged connection surface data to the corresponding computing node, so that each computing node obtains a grid data file without duplicate grid points and duplicate surface grid units, and then completes the writing of the overall grid file of the target model in parallel.

9. An electronic device, characterized in that: The electronic device comprises: processor; a memory for storing instructions executable by the processor; The processor is used to read the executable instructions from the memory and execute the executable instructions to implement the highly scalable grid generation method for supercomputing as described in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that The storage medium stores a computer program, and the computer program is used to execute the highly scalable grid generation method for supercomputing described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Multi-layer region decomposition parallel computing method and device for polyhedral mesh

    CN116562066A

  • Large-scale grid generation algorithm for parallel block extraction

    CN116663364A

  • Super-large scale unstructured grid generation method based on virtual merging strategy

    CN117131733A

  • Method and system for reconstructing geometric model in fluid simulation software

    CN117332572A

  • Unified grid vertex indexing method for high-fidelity parallel simulation of whole reactor core of fast reactor

    CN118657077A