Grid encryption method and device based on filling curve

Through the mesh encryption method based on fill curves, the coordinates and parent elements of the mesh cells are calculated using SIMD technology, which solves the problem that grid encryption is difficult to ensure quality and consistency in the existing technology, and achieves fast and efficient mesh encryption.

CN119885776BActive Publication Date: 2025-05-30NAT UNIV OF DEFENSE TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510348682.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-24
Publication Date
2025-05-30
Estimated Expiration
2045-03-24

AI Technical Summary

Technical Problem

The prior art is difficult to ensure grid quality and consistency during the grid encryption process, especially in parallel computing environments, and efficiently handling data migration and synchronization in distributed memory systems is still a complex task.

Method used

The mesh encryption method based on fill curve is adopted. By loading the mesh cells to be processed, the fill curve index is calculated, the coordinates and parent elements of the unit are calculated using the SIMD instructions, and the child elements are then calculated to realize mesh encryption.

Benefits of technology

This method uses SIMD technology to process multiple grid cells, which significantly improves computing efficiency, quickly realizes the encryption of grid cells, and ensures grid quality and consistency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119885776B_ABST
    Figure CN119885776B_ABST
Patent Text Reader

Abstract

The present invention relates to a grid encryption method and device based on a filling curve. By using SIMD instructions to accelerate the calculation of the coordinates of a computing unit and then calculating the parent element of the computing unit, including the level to which the parent element of the computing unit belongs, the coordinates of the anchor point of the parent element, and the type of the parent element, and then calculating the sub-units of the unit, including the coordinates of the anchor points of the sub-units and the levels to which they belong, making full use of the filling curve technology to map the grid cells in the high-dimensional space to a one-dimensional index, quickly realizing the encryption of the grid cells, and processing multiple grid cells through the SIMD technology, which greatly improves the calculation efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of grid data processing, and relates to a grid encryption method and device based on a filling curve. Background Art

[0002] The numerical solution of partial differential equations has extensive applications in academic research and industrial computing. Most numerical solution methods (including finite difference, finite volume method, etc.) use grids to discretize the computational domain. One of the core technologies to improve the performance of numerical simulation is grid encryption. A filling curve is a special type of continuous mapping that maps points in one-dimensional space to points in high-dimensional space and preserves spatial proximity to a certain extent. Common filling curves include Hilbert curve and Z curve, etc. The application of filling curves in grid generation is mainly reflected in technical fields such as grid encryption, grid sorting and optimization, and parallel computing.

[0003] Grid encryption plays an important role in numerical simulation. By increasing the grid density in the region of interest, grid adaptive encryption ensures both the accuracy of the calculation results and the calculation efficiency. Grid adaptive encryption is widely applied in technical fields such as computational fluid dynamics (CFD) and electromagnetic simulation. Nevertheless, there are still several challenges in adaptive grid encryption, such as ensuring grid quality and consistency during the grid encryption process, especially in a parallel computing environment; in addition, efficiently handling data migration and synchronization in a distributed memory system is still a complex task. Therefore, researching how to quickly implement grid encryption remains one of the technical problems to be solved currently. Summary of the Invention

[0004] Aiming at the problems existing in the above traditional technologies, the present invention proposes a grid encryption method based on a filling curve and a grid encryption device based on a filling curve, which can quickly implement grid encryption.

[0005] To achieve the above object, the embodiments of the present invention adopt the following technical solutions:

[0006] On the one hand, a grid encryption method based on a filling curve is provided, including the steps of:

[0007] Loading the grid cells to be processed; the grid cells to be processed include two-dimensional cells and three-dimensional cells;

[0008] Calculating the filling curve index of the cells for the grid cells;

[0009] According to the encryption rule and the filling curve index of the cells, using SIMD instructions to calculate the coordinates of the cells;

[0010] Calculate the parent element of a cell based on the coordinates of the cell; calculating the parent element of a cell includes calculating the type of the parent element, the coordinates of the anchor point of the parent element, and the level to which it belongs;

[0011] Based on the calculated parent element of the cell, calculate the child elements of the cell to complete the grid encryption of the grid cell to be processed; calculating the child elements of the cell includes calculating the coordinates of the anchor point of the child element and the level to which it belongs.

[0012] On the other hand, a grid encryption device based on a filling curve is also provided, including:

[0013] A cell loading module for loading the grid cell to be processed; the grid cell to be processed includes two-dimensional cells and three-dimensional cells;

[0014] An index calculation module for calculating the filling curve index of the cell for the grid cell;

[0015] A cell coordinate calculation module for calculating the coordinates of the cell using SIMD instructions according to the encryption rule and the filling curve index of the cell;

[0016] A parent element calculation module for calculating the parent element of the cell based on the coordinates of the cell; calculating the parent element of the cell includes calculating the type of the parent element, the coordinates of the anchor point of the parent element, and the level to which it belongs;

[0017] A child element calculation module for calculating the child elements of the cell based on the calculated parent element of the cell to complete the grid encryption of the grid cell to be processed; calculating the child elements of the cell includes calculating the coordinates of the anchor point of the child element and the level to which it belongs.

[0018] One of the above technical solutions has the following advantages and beneficial effects:

[0019] The above grid encryption method and device based on a filling curve calculate the parent element of the cell after accelerating the calculation of the coordinates of the cell by using SIMD instructions, including calculating the level to which the parent element of the cell belongs, the coordinates of the anchor point of the parent element, and the type of the parent element, and then calculate the child elements of the cell, including calculating the coordinates of the anchor point of the child element and the level to which it belongs, making full use of the filling curve technology to map the grid cells in the high-dimensional space to a one-dimensional index, quickly realizing the encryption of the grid cells, and processing multiple grid cells through SIMD technology, greatly improving the calculation efficiency. Description of the Drawings

[0020] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the accompanying drawings required for the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other accompanying drawings can be obtained based on these drawings.

[0021] Figure 1 It is a schematic flowchart of a grid encryption method based on a filling curve in an embodiment;

[0022] Figure 2 It is a schematic diagram of a car model and encryption visualization in an embodiment, where Figure 2 (a) is the car model, Figure 2 (b) is the visualization result of the grid encryption of the car model;

[0023] Figure 3 It is a schematic diagram of a rabbit model and encryption visualization in an embodiment, where Figure 3 (a) is the rabbit model, Figure 3 (b) is the visualization result of the grid encryption of the rabbit model;

[0024] Figure 4 It is a schematic diagram of the module framework of a grid encryption device based on a filling curve in an embodiment. Detailed implementation manners

[0025] In order to make the objectives, technical solutions and advantages of the present invention clearer and more understandable, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention. Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the technical field to which the present invention belongs. The terms used in the description of the present invention are only for the purpose of describing specific embodiments and are not intended to limit the present invention.

[0026] It should be noted that referring to "embodiment" herein means that a specific feature, structure or characteristic described in connection with the embodiment may be included in at least one embodiment of the present invention. Displaying this phrase at various positions in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment mutually exclusive with other embodiments. Those skilled in the art can understand that the embodiments described herein can be combined with other embodiments. The term "and / or" used in the description and claims of the present invention refers to any combination and all possible combinations of one or more of the related listed items, and includes these combinations.

[0027] The embodiments of the present invention will be described in detail below with reference to the accompanying drawings in the embodiments of the present invention.

[0028] By sorting grid cells through a filling curve, areas that need to be refined or coarsened can be quickly marked, and at the same time, the locality of the filling curve can be used to balance the workload of each computing node as much as possible.

[0029] In one embodiment, as Figure 1 shown, a grid encryption method based on a filling curve is provided, which may include the following steps S10 to S16:

[0030] S10, load the grid cells to be processed; the grid cells to be processed include two-dimensional cells and three-dimensional cells, and these cells can be cells on various geometric models to be processed.

[0031] S11, calculate the filling curve index of the grid cells.

[0032] It can be understood that an encrypted grid is first constructed. Specifically, the grid cells to be processed include two-dimensional cells and three-dimensional cells. For 2D (two-dimensional) cells, 4 sub-cells can be constructed by connecting the midpoints of each side to obtain the encrypted grid of 2D cells. For 3D (three-dimensional) cells, they can be processed according to the construction rule of cutting along the midlines of each vertex to form 4 sub-cells and then cutting the remaining part along the diagonal to form a total of 8 sub-cells. After construction processing according to this construction rule, the encrypted grid of 3D cells can be obtained.

[0033] Then calculate the cell index. Specifically, according to the given encryption rule, for any cell in the encrypted grid T l , which is obtained by encrypting the cell T 0 (the initial grid obtained by reading the grid file) for l times, it can be said that the level of the cell T l is l . For any cell, compare the coordinates of each vertex of the cell, and call the vertex with the smallest coordinate component the anchor point. In 2D space, a unit square can be divided into 2 different types of triangles, which can be represented by the numbers 0 and 1, and they share the edge from (0,0) to (1,1). In 3D space, a unit cube can be divided into 6 different types of tetrahedrons, which can be represented by the numbers 0-5 respectively for these 6 different types, and they all share the edge from (0,0,0) to (1,1,1). Therefore, for any cell l with level T , the index I ( T ) of its filling curve can be uniquely determined by formula (1):

[0034] (1)

[0035] Among them, Z , Y and X respectively represent the coordinate components of the anchor point of unit T . is the bit interleaver, B represents the T -tuple composed of the ancestor types of unit l .

[0036] S12, calculate the coordinates of the unit using SIMD instructions according to the encryption rule and the filling curve index of the unit.

[0037] It can be understood that the coordinates are initialized first. According to the given encryption rule, any unit is obtained by shrinking and translating its parent element, and the coordinates of the anchor point of the unit can be obtained during the process of calculating the filling curve index of the unit. Combining the two and introducing SIMD can quickly calculate the vertex coordinates of each unit. By using the SIMD instruction __mm_set_ps, the coordinates of the anchor point of any unit and the remaining vertices (initialized to 0) are loaded into the vector register. Among them, __mm_set_ps is an intrinsic function provided by the SSE instruction set for initializing a 128-bit register __m128 containing 4 single-precision floating-point numbers (32-bit floating-point numbers in the IEEE754 standard). In the SIMD architecture, a register of type __m128 can store and process 4 single-precision floating-point numbers simultaneously, thus achieving data-level parallelism.

[0038] Then enter the calculation stage and perform addition calculations using SIMD instructions. To this end, first calculate the scaling factor l of the unit through the level L of the current unit and the maximum level h of the grid, that is h = 2 (L-l) ; Secondly, determine the coordinate components i , j of the vertex to be calculated according to the type of the tetrahedron, and the calculation formula is as follows:

[0039] (2)

[0040] (3)

[0041] Among them, T.type represents the type of the unit. Finally, update the parallel vector. Use the SIMD instruction __mm_add_ps to calculate the subsequent coordinates in parallel, and the calculation formula can be as follows:

[0042] (4)

[0043] Among them, and respectively represent unit vectors along the i th dimension and the j th dimension. x [0] represents the coordinates of the anchor point. If it is a 2D cell, the coordinates do not need to be calculated. x [3], [ ] T represents transpose. __mm_add_ps is a single instruction multiple data instruction in the SSE instruction set, which is used to perform parallel addition operations on 4 single-precision floating-point numbers in two 128-bit XMM registers. That is, it can simultaneously add the floating-point numbers in the corresponding positions of the two registers, completing 4 groups of floating-point number addition operations at one time, greatly improving the data processing efficiency. It is suitable for scenarios that require a large number of parallel floating-point calculations, such as vector and matrix operations in computer graphics, data processing in scientific computing, etc.

[0044] S14, calculate the parent element of the cell according to the coordinates of the cell; this includes calculating the type of the parent element, the coordinates of the anchor point, and the level to which it belongs.

[0045] It can be understood that the level of the parent element is 1 less than the level of the cell. The type of the parent element of the cell is uniquely determined by the type of the cube where the cell is located and the type of the cell itself. Therefore, first, the type of the cube where the cell is located needs to be calculated. For any cell, the corresponding cube type can be obtained through formula (5).

[0046] (5)

[0047] Among them, T.x , T.y and T.z respectively represent the coordinate components of the anchor point of cell T. ∧ represents a bitwise AND operation. h = 2 (L -l) . After that, calculate the coordinates of the anchor point of the parent element through the coordinates of the anchor point of the cell and the level where it is located. The calculation formula is as follows:

[0048] (6)

[0049] Among them, P.x , P.y and P.z respectively represent the coordinate components of the anchor point of the parent element. represents a bitwise NOT operation. H = 2 (L-T.l) If it is a 2D cell, then P.z does not need to be calculated.

[0050] S16. Calculate the child units of the unit based on the calculated parent element of the unit to complete the grid encryption of the grid unit to be processed, including calculating the coordinates and the level to which the child unit belongs of the anchor point of the child unit.

[0051] It can be understood that the level of the child unit is the level of the unit plus 1. The coordinates of the anchor point of the child unit can be obtained from the coordinates of the anchor point of the parent element, and the calculation formula can be as follows:

[0052] (7)

[0053] Where represents the coordinates of the anchor point of the e th child unit, e ∈ {0, …, 7}, x j e can be calculated by formula (4). The coordinates of the anchor point of the parent element are loaded into the register through the broadcast instruction _mm256_set1_ps of SIMD, and the coordinates of the child unit are extracted from the vertex coordinate array of the parent element according to the index by using the SIMD instruction ___mm256_i32gather_ps. Then, the mean coordinates of 8 child units are calculated in parallel through vector addition and vector multiplication operations. In this way, 8 child unit data are processed each time, further improving the overall processing performance.

[0054] In the above grid encryption method based on the filling curve, after calculating the coordinates of the unit by using the SIMD instruction to accelerate, the parent element of the unit is calculated, including calculating the level to which the parent element belongs, the coordinates of the anchor point of the parent element, and the type of the parent element, and then the child units of the unit are calculated, including calculating the coordinates and the level to which the child unit belongs of the anchor point of the child unit. By making full use of the filling curve technology, the grid units in the high-dimensional space are mapped to one-dimensional indexes, and the encryption of the grid units is quickly realized. By using the SIMD technology to process multiple grid units, the calculation efficiency is greatly improved.

[0055] In one embodiment, in step S11 described above, the SIMD acceleration technology is used to efficiently calculate the filling curve index of the unit.

[0056] Specifically, the SIMD (Single Instruction Multiple Data, a parallel processing technology in a computer architecture) can be used to generate the filling curve. In this embodiment, the SIMD acceleration technology is used to efficiently calculate the filling curve index of the unit. For the implementation of bit interleaving, specifically, let the coordinate component Z keep the lowest bit, Y the bits of X ​Shift the bits of two positions to the left. The bit shift is implemented by __mm_slli_epi32. After that, merge them through __mm_or_si128. Finally, B is directly combined with the interleaved Z , Y , X merge. Fill B into the bit positions through a shift operation.

[0057] Among them, _mm_slli_epi32 is an intrinsic function of the SSE (Streaming SIMD Extensions) instruction set, which is used to perform a logical left shift operation on 4 32-bit signed integers in a 128-bit register. _mm is the general prefix of these intrinsic functions, indicating that the SSE instruction set is used to operate on 128-bit registers. slli represents Signed Logical Left Immediate, and epi32 indicates that the data type of the operation is 32-bit signed integers. _mm_or_si128 is also an intrinsic function of the SSE instruction set, which is used to perform a bitwise OR operation on the data in two 128-bit registers. It will perform an OR operation on the corresponding bits of the two 128-bit registers, and the result is stored in a new 128-bit register.

[0058] In one embodiment, regarding step S12 above, during the process of using the SIMD instruction to calculate the coordinates of the calculation unit, use the SIMD instruction __mm_store__ps to write the calculation result of the coordinates of the calculation unit into memory.

[0059] It can be understood that at the end of step S12 above, it can also enter the storage stage, and use the SIMD instruction __mm_store__ps to write the calculation result of the previous calculation stage into memory to persist the calculation result, so as to facilitate the calculation in subsequent steps more conveniently. By introducing SIMD technology to batch process multiple coordinate dimensions simultaneously, the processing efficiency is significantly improved. Among them, __mm_store__ps is an instruction in the SSE instruction set for storing data. It stores 4 single-precision floating-point numbers in the 128-bit XMM register (__m128 type) into the specified address in memory.

[0060] In one embodiment, in step S14 above, use SIMD instructions to accelerate the calculation process.

[0061] It can be understood that in the processing of step S14 above, SIMD instructions can also be used to accelerate the above calculation process. Specifically, taking each coordinate dimension as a group, load the anchor coordinates through the SIMD instruction ___mm256___loadu___si256, and use the SIMD instructions mm256_and_si256 andh Perform a bitwise AND operation, and finally update and obtain it through the SIMD instruction _mm256bendv___epi8 k Use the SIMD instruction ___mm256_sllv_epi32 to calculate the bitwise left shift H Use the SIMD instruction mm256_xorsi256 to perform an exclusive OR bit by bit to obtain Finally, use the SIMD instruction _mm256___and _si256 to implement the bitwise AND operation to obtain the coordinates of the anchor point of the parent element. Since all calculations are vectorized bitwise operations without complex conditional judgments, the coordinate calculation of the parent element through the vectorized processing unit further greatly improves the calculation efficiency.

[0062] In some embodiments, such as Figure 2 and Figure 3 shown, the number of meshes obtained after 2 geometric models read the corresponding.brep files and.msh files are as follows respectively Figure 2 There are 17,479 cells Figure 3 There are 16,463 cells Figure 2 (a) is the car model Figure 2 (b) is the visualization result of the car model mesh encryption Figure 3 (a) is the rabbit model Figure 3 (b) is the visualization result of the rabbit model mesh encryption. For the car model, it takes 3.7 seconds to encrypt to 4.5 billion meshes on 1200 processes; for the rabbit model with a large initial number of meshes and a more complex model, it only takes 3.9 seconds to encrypt to 4.3 billion meshes. It can be seen that the above scheme improves the mesh scale while greatly reducing the calculation time.

[0063] It should be understood that although Figure 1 the steps in Figure 1 are shown in sequence according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless there is a clear indication in this article, the execution of these steps has no strict order limit, and these steps can be executed in other orders. Moreover

[0064] In one embodiment, such as Figure 4As shown in the figure, a grid encryption device 100 based on a filling curve is provided, which may include a cell loading module 11, an index calculation module 13, a cell coordinate calculation module 15, a parent element calculation module 17, and a sub-cell calculation module 19. Among them, the cell loading module 11 is used to load the grid cells to be processed; the grid cells to be processed include two-dimensional cells and three-dimensional cells. The index calculation module 13 is used to calculate the filling curve index of the cells for the grid cells. The cell coordinate calculation module 15 is used to calculate the coordinates of the cells according to the encryption rules and the filling curve index of the cells using SIMD instructions. The parent element calculation module 17 is used to calculate the parent element of the cell according to the coordinates of the cell; calculating the parent element of the cell includes calculating the type of the parent element, the coordinates of the anchor point of the parent element, and the level to which it belongs. The sub-cell calculation module 19 is used to calculate the sub-cells of the cell according to the calculated parent element of the cell, and complete the grid encryption of the grid cells to be processed; calculating the sub-cells of the cell includes calculating the coordinates of the anchor point of the sub-cell and the level to which it belongs.

[0065] The above-mentioned grid encryption device 100 based on the filling curve calculates the parent element of the cell after accelerating the calculation of the coordinates of the cell by using SIMD instructions, including calculating the level to which the parent element of the cell belongs, the coordinates of the anchor point of the parent element, and the type of the parent element, and then calculates the sub-cells of the cell, including calculating the coordinates of the anchor point of the sub-cell and the level to which it belongs. It makes full use of the filling curve technology to map the grid cells in the high-dimensional space to a one-dimensional index, quickly realizes the encryption of the grid cells, and processes multiple grid cells through SIMD technology, greatly improving the calculation efficiency.

[0066] In one embodiment, the index calculation module 13 uses SIMD acceleration technology to efficiently calculate the filling curve index of the cells.

[0067] In one embodiment, during the process of the cell coordinate calculation module 15 calculating the coordinates of the cells using SIMD instructions, the SIMD instruction __mm_store__ps is used to write the calculation result of the coordinates of the calculated cells into the memory.

[0068] In one embodiment, the parent element calculation module 17 accelerates the calculation process by using SIMD instructions.

[0069] It can be understood that for the explanations of the features in the above grid encryption device 100 based on the filling curve, the corresponding explanations in the above embodiments of the grid encryption method based on the filling curve can be referred to for the same understanding. Each module in the above grid encryption device 100 based on the filling curve can be implemented in whole or in part by software, hardware, and their combination. Each of the above components can be embedded in or independent of a device with data processing capabilities in hardware form, or stored in the memory of the aforementioned device in software form, so as to facilitate the processor to call and execute the operations corresponding to each of the above modules. The aforementioned device can be, but is not limited to, various existing data processing computers in the art.

[0070] Those of ordinary skill in the art can understand that all or part of the processes in the above method embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the above method embodiments. Among them, any reference to a memory, storage, database, or other medium used in the embodiments provided by the present invention can include non-volatile and / or volatile memories. Non-volatile memories can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memories can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), memory bus dynamic random access memory (Rambus DRAM, abbreviated as RDRAM), and interface dynamic random access memory (DRDRAM), etc.

[0071] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity of description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope recorded in this specification.

[0072] The above embodiments only represent several implementation manners of the present invention. The description is relatively specific and detailed, but it should not be construed as a limitation on the protection scope of the invention. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present invention, several deformations and improvements can still be made, which all belong to the protection scope of the present invention. Therefore, the protection scope of the present invention should be subject to the appended claims.

Claims

1. A mesh encryption method based on a filling curve, characterized in that: Includes steps: Loading grid cells to be processed; the grid cells to be processed include two-dimensional cells and three-dimensional cells; Calculating a fill curve index of the cell for the grid cell; According to the encryption rule and the filling curve index of the cell, the coordinates of the cell are calculated using SIMD instructions; Calculate the parent element of the cell according to the coordinates of the cell; calculating the parent element of the cell includes calculating the type of the parent element, the coordinates of the anchor point of the parent element and the level to which it belongs; According to the parent element of the cell obtained by calculation, the child element of the cell is calculated, and the grid encryption of the grid cell to be processed is completed; The sub-unit of the calculation unit includes the coordinates of the anchor point of the calculation sub-unit and the level to which it belongs.

2. The mesh encryption method based on filling curve according to claim 1, characterized in that: In the step of calculating the filling curve index of the grid unit, SIMD acceleration technology is used to efficiently calculate the filling curve index of the unit.

3. The mesh encryption method based on filling curve according to claim 1 or 2, characterized in that: In the process of using SIMD instructions to calculate the coordinates of the unit, the SIMD instruction __mm_store__ps is used to write the calculation results of the coordinates of the calculation unit into the memory.

4. The mesh encryption method based on filling curve according to claim 3 is characterized in that: In the process of calculating the parent element of a cell according to the coordinates of the cell, SIMD instructions are used to accelerate the calculation process.

5. A grid encryption device based on a filling curve, characterized in that: include: A unit loading module is used to load the grid units to be processed; The grid cells to be processed include two-dimensional cells and three-dimensional cells; An index calculation module, used for calculating the filling curve index of the grid cell; A cell coordinate calculation module, used to calculate the coordinates of the cell using SIMD instructions according to the encryption rule and the filling curve index of the cell; A parent element calculation module is used to calculate the parent element of a cell according to the coordinates of the cell; calculating the parent element of a cell includes calculating the type of the parent element, the coordinates of the anchor point of the parent element and the level to which it belongs; A sub-unit calculation module, used for calculating the sub-units of the unit according to the parent element of the unit obtained by calculation, and completing the grid encryption of the grid unit to be processed; The sub-unit of the calculation unit includes the coordinates of the anchor point of the calculation sub-unit and the level to which it belongs.

6. The grid encryption device based on filling curve according to claim 5, characterized in that: The index calculation module uses SIMD acceleration technology to efficiently calculate the filling curve index of the unit.

7. The grid encryption device based on filling curve according to claim 5 or 6, characterized in that: In the process of the unit coordinate calculation module using SIMD instructions to calculate the coordinates of the unit, the SIMD instruction __mm_store__ps is used to write the calculation result of the coordinates of the calculation unit into the memory.

8. The grid encryption device based on filling curve according to claim 7, characterized in that: The parent element calculation module uses SIMD instructions to accelerate the calculation process.

Citation Information

Patent Citations

  • Vector data storage method, efficient retrieval method and device and storage medium

    CN114461830A

  • Gas-phase combustion explosion parallel numerical calculation method based on adaptive grid technology

    CN118395903A