Chip simulation post-processing method and system based on cloud computing

By adopting cloud-based computing methods in chip simulation analysis post-processing, dynamically allocating computing and storage resources and performing parallel processing, the problem of efficient processing of large-scale data sets in the existing technology is solved, and processing efficiency and data management are significantly improved ability.

CN119473632AInactive Publication Date: 2025-02-18WU CHUANG XIN YAN KE JI (WU HAN) YOU XIAN GONG SI
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510045190.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-13
Publication Date
2025-02-18
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

The prior art is difficult to efficiently process large-scale data sets in the process of post-processing of chip simulation analysis, resulting in high demand for computing resources, low efficiency, and difficult data visualization and interpretation.

Method used

The chip simulation post-processing method based on cloud computing is adopted. By evaluating the computing resources and storage resources required for each post-processing task, the resources are dynamically allocated, and the post-processing task is executed in parallel processing to store the processing results.

Benefits of technology

It effectively improves the processing efficiency of chip simulation post-processing, reduces the demand for computing resources, shortens the simulation post-processing time, and improves the efficiency of data management and visualization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119473632A_ABST
    Figure CN119473632A_ABST
Patent Text Reader

Abstract

The invention belongs to the technical field of chip automation simulation, and particularly discloses a chip simulation post-processing method and system based on cloud computing, and the method comprises the steps: evaluating computing resources and storage resources needed by each post-processing task; based on the computing resources and the storage resources required by each post-processing task, allocating the computing resources and the storage resources to each post-processing task; and executing each post-processing task according to the parallel processing mode, and storing a processing result of each post-processing task. According to the method, the computing resources and the storage resources required by each post-processing task are evaluated, so that the cloud computing platform can dynamically expand or reduce the resources according to the data processing requirements, the computing resources and the storage resources are allocated to each post-processing task as required, and under the condition that enough resources are allocated to each post-processing task, the computing resources and the storage resources are allocated to each post-processing task. And the cloud computing platform can execute each post-processing task according to a parallel processing mode, and stores a processing result of each post-processing task.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the technical field of chip automated simulation, and more specifically, to a chip simulation post-processing method and system based on cloud computing. Background Art

[0002] Semiconductor chip manufacturing and packaging technology has high barriers to entry, long R&D cycles, and high investment costs. Simulation verification is a necessary step, and with the rapid development of the chip industry, the need for simulation is even more urgent. Reliability simulation in the field of semiconductor chip manufacturing and packaging is a key technology to ensure stable operation of products within their expected lifespan. With the development of technology, chips are becoming more and more complex and more integrated, which makes reliability issues more prominent.

[0003] The computational difficulties of the chip simulation analysis post-processing process mainly include the challenges of processing large-scale data sets, which are usually generated by complex simulation models and contain a large number of variables and parameters. How to efficiently store, manage and analyze this data, as well as how to extract meaningful information from the data is very difficult. The post-processing process often requires a large amount of parallel computing and high-performance computing to ensure the accuracy and real-time performance of the results. The visualization and interpretation of the data is also a difficulty, especially when the data is high-dimensional and complex. As the accuracy and complexity of the simulation model increase, the computational cost and time of the post-processing process also increase, which places higher demands on computing resources.

[0004] At present, the common simulation analysis software in the industry is mainly a stand-alone system, which is often prone to jamming in scenarios involving complex post-processing data, and has long waiting times and low efficiency. How to effectively improve the processing efficiency of chip simulation analysis post-processing processes is a technical problem that needs to be solved in this field. Summary of the invention

[0005] In view of the defects of the prior art, the purpose of this application is to effectively improve the processing efficiency of the chip simulation analysis post-processing process.

[0006] To achieve the above objectives, in a first aspect, the present application provides a chip simulation post-processing method based on cloud computing, which is applied to a cloud computing platform, and the method includes: Evaluate the computing and storage resources required for each post-processing task, which is the task of visualizing data based on the geometry of the simulation object and the solver's solution results; Based on the computing resources and storage resources required by each post-processing task, computing resources and storage resources are allocated to each post-processing task, where computing resources are used to provide computing power for the corresponding post-processing task, and storage resources are used to provide storage space for the corresponding processing task; Each post-processing task is executed in a parallel processing manner, and the processing results of each post-processing task are stored.

[0007] In a possible implementation, the computing resources and storage resources required for each post-processing task are evaluated, including: Based on the input data and processing algorithm corresponding to the post-processing task, determine the computing resources required for the post-processing task by evaluating the computational complexity; Based on the amount of input data and processing results corresponding to the post-processing task, the storage resources required for the post-processing task are determined.

[0008] In one possible implementation, various post-processing tasks are performed, including: Based on the input data of the post-processing task, the processing result is generated by calling the processing algorithm corresponding to the post-processing task.

[0009] In one possible implementation, the post-processing task is any one of the following tasks: a task for generating a stress map, a task for generating a strain map, a task for generating a displacement map, a task for generating a deformation map, a task for generating a contour map, a task for generating an isosurface map, and a task for generating an analysis report.

[0010] In a possible implementation, the method further includes: Receive a post-processing service request sent by a client, where the post-processing service request is used to instruct the cloud computing platform to feedback the processing result of the post-processing task; Respond to post-processing service requests and obtain the processing results of post-processing tasks; Generate a feedback message and send it to the client, the feedback message carries the processing result of the post-processing task.

[0011] In a possible implementation, the post-processing service request carries the engineering parameters of the post-processing task, and the engineering parameters are used to indicate the data content items of the processing result; Respond to post-processing service requests and obtain the processing results of post-processing tasks, including: Comparing the engineering parameters of the processing results stored in the cloud computing platform with the engineering parameters carried by the post-processing service request; If the engineering parameters of the processing results stored in the cloud computing platform do not match the engineering parameters carried by the post-processing service request, the corresponding post-processing task is re-executed based on the engineering parameters carried by the post-processing service request to obtain the processing results of the post-processing task; If the engineering parameters of the processing results stored in the cloud computing platform match the engineering parameters carried by the post-processing service request, the processing results stored in the cloud computing platform are extracted.

[0012] In a possible implementation, the post-processing service request carries identification information of one or more post-processing tasks, and the identification information is used to instruct the cloud computing platform to feed back processing results of the corresponding post-processing tasks.

[0013] In a second aspect, the present application provides a chip simulation post-processing system based on cloud computing, including: a client and a cloud computing platform that applies the method described in the first aspect or any possible implementation of the first aspect, and the client and the cloud computing platform are communicatively connected.

[0014] In a possible implementation, the client is used to: Sending a post-processing service request to the cloud computing platform, the post-processing service request is used to instruct the cloud computing platform to feedback the processing result of the post-processing task; Receive a feedback message sent by the cloud computing platform, which carries the processing result of the post-processing task.

[0015] In a possible implementation, the cloud computing platform is used to: Receive post-processing service requests sent by the client; Respond to post-processing service requests and obtain the processing results of post-processing tasks; Generate a feedback message and send it to the client, the feedback message carries the processing result of the post-processing task.

[0016] In general, the above technical solutions conceived by this application have the following beneficial effects compared with the prior art: By evaluating the computing resources and storage resources required for each post-processing task, the cloud computing platform can dynamically expand or reduce resources according to data processing needs, and allocate computing resources and storage resources to each post-processing task on demand. When each post-processing task is allocated with sufficient resources (computing resources and storage resources), the cloud computing platform can execute each post-processing task in a parallel processing manner and store the processing results of each post-processing task. Therefore, using the high-performance computing capabilities of cloud computing can help accelerate complex computing and data processing tasks, avoid jamming in scenarios involving complex post-processing data, effectively deal with large-scale data sets, shorten simulation post-processing time, and effectively improve simulation post-processing efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 It is a flowchart of a chip simulation post-processing method based on cloud computing provided in an embodiment of the present application; Figure 2 is a schematic diagram of a post-processing computing resource allocation process provided in an embodiment of the present application; Figure 3 is a schematic diagram of a cloud computing post-processing instance architecture provided in an embodiment of the present application; Figure 4 is a schematic diagram of a stress diagram request processing flow provided in an embodiment of the present application; Figure 5 It is a structural diagram of a chip simulation post-processing system based on cloud computing provided in an embodiment of the present application. DETAILED DESCRIPTION

[0018] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0019] In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.

[0020] In the description of the embodiments of the present application, unless otherwise specified, "multiple" means two or more than two. For example, multiple processing units refer to two or more processing units, etc.; multiple elements refer to two or more elements, etc.

[0021] First, the technical terms involved in the embodiments of the present application are introduced.

[0022] (1) The simulation analysis process can be divided into three main stages: simulation pre-processing stage, simulation solution stage and simulation analysis post-processing stage.

[0023] (2) Pre-processing: Pre-processing is the preparatory stage for simulation analysis, which mainly includes the following steps. Geometric modeling step: Create a geometric model of the simulation object. This can be done through the modeling tools built into the CAD software or the simulation software. Meshing step: Divide the geometric model into small units (meshes) for numerical calculations. The quality and density of the mesh will directly affect the accuracy and computational efficiency of the simulation results. Material property definition step: Specify physical properties for different materials in the model, such as elastic modulus, Poisson's ratio, density, thermal conductivity, etc. Boundary condition setting step: Define the boundary conditions and initial conditions of the model, including applied loads, constraints, temperature, etc. These conditions have an important impact on the simulation results. Solution setting step: Select a suitable solver and solution method, and set solution parameters, such as time step, convergence criteria, etc.

[0024] (3) Simulation solving (Solving), the solving stage is the actual process of numerical calculation, which mainly includes the following steps. Solver running steps: According to the model and conditions set in the pre-processing stage, run the solver for calculation. The solver will solve the model according to the selected numerical method (such as finite element method, finite difference method, etc.). Convergence check step: During the solving process, the solver will continuously check the convergence of the calculation to ensure the stability and accuracy of the results. If the convergence conditions are not met, it may be necessary to adjust the solution parameters or grid. Result storage step: After the solution is completed, the results will be stored in the specified file for use in the subsequent post-processing stage.

[0025] (4) The data output by the solver includes two categories: field output data and history output data.

[0026] Field output data refers to the spatial distribution data calculated by the solver at each time step during the simulation process. These data are usually related to the geometry and meshing of the model, and can be used to describe the physical quantities of each node or unit in the model. Common field output data include: stress field, strain field, displacement field, temperature field, etc. Field output data is usually visualized in the form of graphics, such as contour plots, three-dimensional surface plots, vector plots, etc.

[0027] Historical output data refers to specific physical quantities recorded by the solver that change over time during the simulation process. These data are usually related to specific points, lines, surfaces, or the entire model. Common historical output data include: Time History Curves, Frequency Response Data, Load History, etc. Historical output data is usually presented in the form of graphs, such as time-stress curves, time-displacement curves, etc.

[0028] (5) Post-processing of simulation analysis: refers to the process of analyzing, visualizing and interpreting the simulation results after the simulation calculation is completed. Data can be visualized using charts, graphs or animations to more intuitively understand the simulation results. Commonly used visualization tools include contour maps, three-dimensional maps, streamline maps, etc.

[0029] The post-processing of simulation analysis mainly includes: data extraction, data visualization and report generation. Data extraction: extract the required physical quantity data from the solution results, such as stress, strain, displacement, etc. Data visualization: use graphics and charts to display the simulation results, including stress diagrams, strain diagrams, displacement diagrams, contour diagrams, etc., so as to intuitively understand the results. Report generation: organize the analysis results and generate analysis reports.

[0030] (6) Stress Diagram: A stress diagram shows the stress distribution inside a material. By changing the color or graph, you can visually see the stress levels in different areas. This is very important for evaluating whether a material will yield or fail under a specific load. For example, a von Mises stress diagram shows the equivalent stress at each point of the material, which helps determine whether the material has reached the yield limit. For example, a shear stress diagram shows the distribution of shear stress in the model.

[0031] (7) Strain Diagram: The strain diagram shows the deformation degree of the material under the action of load. Strain is the relative deformation of the material under the action of external force, usually expressed as a percentage or dimensionless number. Strain diagrams can help engineers understand the deformation characteristics of materials during use. For example, linear strain diagram: shows the linear strain of the material in all directions. For example, shear strain diagram: shows the shear strain inside the material.

[0032] (8) Displacement Diagram: A displacement diagram shows the displacement of a structure or component under load. It can show the displacement amount and direction of each point and help analyze the overall deformation behavior of the structure.

[0033] (9) Deformation Diagram: A deformation diagram is usually an extension of a displacement diagram, showing the actual shape of an object after deformation. By comparing the original shape and the deformed shape, the deformation of the structure can be intuitively seen.

[0034] (10) Contour Plot: A contour plot shows the distribution of a physical quantity (such as stress, strain or temperature) by means of contour lines. The density of the contour lines can reflect the rate of change of the physical quantity and help identify hot spots or potential fault points.

[0035] (11) Contour Surface Plot: A contour surface plot is a contour line plot in three-dimensional space, showing the distribution of a physical quantity in three-dimensional space. It can provide a more comprehensive perspective and help analyze the behavior of complex structures.

[0036] (12) Vector Plot: A vector plot is used to display physical quantities with direction and magnitude (such as fluid flow, stress distribution, etc.). The direction of each vector represents the direction of the physical quantity, and the length represents its magnitude. Vector plots can help understand flow patterns or force distribution.

[0037] (13) The analysis report is a summary and explanation of the simulation results, usually including the following contents: The purpose of the simulation is used to explain the reasons and goals of the simulation; The simulation model description is used to introduce the geometry, material properties, boundary conditions, and loading of the simulation model; The simulation analysis method content is used to describe the simulation method and software used; Simulation result display content is used to display simulation results through graphics and tables.

[0038] (14) Cloud computing platform is a setting (service model) that provides computing resources (such as servers, storage, databases, and applications) through the Internet. It allows users to obtain and configure these resources on demand to achieve elastic expansion of computing power, cost optimization, and business flexibility, while supporting multiple service types such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).

[0039] (15) VTK (Visualization Toolkit) is an open source, cross-platform software system dedicated to 3D computer graphics, image processing, and visualization. It provides a series of tools and libraries to support the complete process from data reading, processing to visualization. VTK supports multiple data formats and provides a rich set of visualization algorithms and rendering technologies, enabling users to create high-quality graphics and animations to help better understand and analyze complex data.

[0040] The embodiments of the present application are described below in conjunction with the drawings in the embodiments of the present application.

[0041] Figure 1 is a flow chart of a chip simulation post-processing method based on cloud computing provided in an embodiment of the present application, such as Figure 1 As shown, the method can be applied to a cloud computing platform, and the method includes the following steps S101, S102 and S103.

[0042] Step S101, evaluating the computing resources and storage resources required for each post-processing task, where the post-processing task is a task of performing data visualization processing based on the geometric model of the simulation object and the solution result of the solver; Step S102, based on the computing resources and storage resources required by each post-processing task, allocating computing resources and storage resources to each post-processing task, the computing resources are used to provide computing power for the corresponding post-processing task, and the storage resources are used to provide storage space for the corresponding processing task; Step S103, executing each post-processing task in a parallel processing manner, and storing the processing results of each post-processing task.

[0043] It is understandable that by evaluating the computing resources and storage resources required for each post-processing task, the cloud computing platform can dynamically expand or reduce resources according to data processing needs, allocate computing resources and storage resources to each post-processing task as needed, and when each post-processing task is allocated sufficient resources (computing resources and storage resources), the cloud computing platform can execute each post-processing task in a parallel processing manner and store the processing results of each post-processing task. Therefore, using the high-performance computing capabilities of cloud computing can help accelerate complex computing and data processing tasks, avoid jamming in scenarios involving complex post-processing data, effectively deal with large-scale data sets, shorten simulation post-processing time, and effectively improve simulation post-processing efficiency.

[0044] The chip simulation post-processing method based on cloud computing provided in this application allows users to dynamically expand or reduce resources according to data processing needs, effectively responding to the challenges of large-scale data sets. Utilizing the high-performance computing capabilities of cloud computing helps to accelerate complex computing and data processing tasks, shorten simulation post-processing time, and improve processing efficiency. The scalable storage of cloud computing solves data management problems and ensures data security and convenient access. The multi-user collaboration function of the cloud computing platform promotes data sharing and collaboration among team members and improves work efficiency. The flexibility, scalability, and efficiency of cloud computing provide strong support for simulation analysis post-processing, overcoming the limitations of traditional computing resources.

[0045] In a possible implementation, the computing resources and storage resources required for evaluating each post-processing task include: Based on the input data and processing algorithm corresponding to the post-processing task, determine the computing resources required for the post-processing task by evaluating the computational complexity; Based on the amount of input data and processing results corresponding to the post-processing task, the storage resources required for the post-processing task are determined.

[0046] Exemplarily, the input data corresponding to the post-processing task includes: a geometric model of the simulation object and a solution result of the solver.

[0047] Here we provide an example of the computing resource evaluation process, which includes: determining the input data scale, analyzing the complexity of the post-processing algorithm, evaluating the parallel processing capability, calculating the required CPU and memory, evaluating the GPU requirements, and summarizing the computing resource requirements. The following is an expanded description of each step in the computing resource evaluation process.

[0048] (1) Determine the input data scale: Evaluate the size of the input data and the total memory requirements for computing the data.

[0049] (2) Analyze the complexity of post-processing algorithms: List the post-processing algorithms to be used (such as interpolation, visualization, statistical analysis, etc.), and evaluate the time complexity and space complexity of each algorithm.

[0050] (3) Evaluate parallel processing capabilities: Determine whether the post-processing algorithm supports parallel computing, and evaluate the required number of CPU cores and memory size, considering the efficiency of parallel processing.

[0051] (4) CPU and memory required for computation: Based on the input data size and algorithm complexity, estimate the number of CPU cores required (e.g., using rules of thumb or benchmarks) and the memory required for computation (usually 2 to 4 times the input data size).

[0052] (5) Evaluate GPU requirements: If complex visualization or parallel computing is involved, evaluate the required GPU performance (such as video memory, computing power) and determine the number of GPUs required.

[0053] (6) Summarize computing resource requirements: Summarize the required number of CPU cores, memory size, and GPU requirements to form a computing resource requirement list.

[0054] Here, an example is given to illustrate the storage resource assessment process, which includes: assessing the storage requirements of input data, estimating the storage requirements of processing results, considering the requirements of temporary files, assessing the requirements of data backup, and calculating the total storage requirements. The following is an expanded description of each link in the storage resource assessment process.

[0055] (1) Evaluate input data storage requirements: Determine the size of the input data (such as file format and compression); calculate the storage space required for the input data.

[0056] (2) Estimate storage requirements for processing results: Evaluate the size of the results generated by post-processing (such as graphics, reports, and analytical data); calculate the total storage requirements for the result data.

[0057] (3) Consider temporary file requirements: Evaluate the size of temporary files that may be generated during post-processing; calculate the storage space required for temporary files.

[0058] (4) Evaluate data backup needs: Consider data security and evaluate the required backup storage space (usually at least the same size as the original data).

[0059] (5) Calculate total storage requirements: Summarize the storage space required for input data, result data, temporary files, and backups to form a list of total storage requirements.

[0060] In a possible implementation, the above-mentioned execution of various post-processing tasks includes: Based on the input data of the post-processing task, the processing result is generated by calling the processing algorithm corresponding to the post-processing task.

[0061] Exemplarily, the processing algorithms corresponding to the post-processing tasks include: data pre-processing algorithms (such as interpolation algorithms, data smoothing algorithms, etc.), visualization algorithms, and data statistical analysis algorithms, etc.

[0062] Regarding data interpolation algorithms, in the post-processing process, it is often necessary to interpolate discrete data in order to generate smooth curves or surfaces during visualization. Common interpolation algorithms include: linear interpolation, spline interpolation, and Kriging interpolation.

[0063] Regarding data smoothing algorithms, in order to remove noise and improve visualization effects, post-processing often requires smoothing of data. Common smoothing algorithms include: moving average, Gaussian smoothing, etc. Moving average: smooths data by calculating the average value of data points. Gaussian smoothing: uses a Gaussian function to perform weighted averaging on data, which can effectively remove high-frequency noise.

[0064] Regarding visualization algorithms, an important part of post-processing is to visualize the data for easy analysis and understanding. Common visualization algorithms include: contour drawing algorithms, three-dimensional surface drawing algorithms, and vector field visualization algorithms. Contour drawing algorithms: Generate contour maps based on data values, which are often used to show the distribution of field output data (such as stress, temperature, etc.). Three-dimensional surface drawing algorithms: Visualize three-dimensional data as surface maps to help analyze spatial distribution. Vector field visualization algorithms: Use arrows or streamlines to represent vector data (such as fluid flow) to help understand flow patterns.

[0065] Regarding data statistical analysis algorithms, in the post-processing process, statistical analysis methods can be used to evaluate the reliability and validity of the results. Common statistical methods include: mean and standard deviation calculation, hypothesis testing, cluster analysis, principal component analysis (PCA), etc.

[0066] In one possible implementation, the post-processing task is any one of the following tasks: a task for generating a stress map, a task for generating a strain map, a task for generating a displacement map, a task for generating a deformation map, a task for generating a contour map, a task for generating an isosurface map, and a task for generating an analysis report.

[0067] In a possible implementation, the method further includes: receiving a post-processing service request sent by a client, where the post-processing service request is used to instruct the cloud computing platform to feed back a processing result of the post-processing task; Respond to post-processing service requests and obtain the processing results of post-processing tasks; Generate a feedback message and send it to the client, the feedback message carries the processing result of the post-processing task.

[0068] In a possible implementation, the post-processing service request carries the engineering parameters of the post-processing task, and the engineering parameters are used to indicate the data content items of the processing result. The above-mentioned response to the post-processing service request to obtain the processing result of the post-processing task includes: Comparing the engineering parameters of the processing results stored in the cloud computing platform with the engineering parameters carried by the post-processing service request; If the engineering parameters of the processing results stored in the cloud computing platform do not match the engineering parameters carried by the post-processing service request, the corresponding post-processing task is re-executed based on the engineering parameters carried by the post-processing service request to obtain the processing results of the post-processing task; If the engineering parameters of the processing results stored in the cloud computing platform match the engineering parameters carried by the post-processing service request, the processing results stored in the cloud computing platform are extracted.

[0069] In a possible implementation, the post-processing service request carries identification information of one or more post-processing tasks, and the identification information is used to instruct the cloud computing platform to feed back processing results of the corresponding post-processing tasks.

[0070] The cloud computing-based chip simulation post-processing method provided in this application is explained below with reference to several examples.

[0071] The chip simulation post-processing solution based on cloud computing provided in this application aims to provide post-processing services including stress diagrams, strain diagrams, displacement diagrams, deformation diagrams, isosurface diagrams, contour line diagrams, vector diagrams and analysis reports. This solution realizes the cloud computing service of post-processing functions by designing a parallel service architecture, automatically allocating cloud computing cloud storage resources, parallel computing and storage of computing results, and processing corresponding requests for data rendering feedback. The chip simulation post-processing solution based on cloud computing includes: cloud computing resource allocation, post-processing service application protocol and parallel analysis and calculation process of post-processing tasks.

[0072] (1) Cloud computing resource allocation; This solution can automatically evaluate the required cloud computing resources and storage resources according to the computational complexity of post-processing tasks, field output, and historical output data requirements, and achieve reasonable allocation and efficient utilization of resources.

[0073] (2) Post-processing service application agreement; The client sends information containing a specific application protocol to the cloud computing platform through a communication protocol that supports HTTP to call the corresponding post-processing service. The post-processing service application protocol defines how to trigger a specific post-processing computing function through a communication protocol. The protocol describes in detail the application protocol and implementation method of the post-processing service function, allowing the post-processing service function to be expanded or updated by adding or modifying protocols and methods.

[0074] (3) Parallel analysis and calculation process of post-processing tasks; Figure 2 is a schematic diagram of the post-processing computing resource allocation process provided by the embodiment of the present application, such as Figure 2 As shown in the figure, when processing post-processing tasks, the solver's solution result data (geometric model data, field output, and historical output data) are first classified and sorted, and then combined with the field output and historical output data content items, independent cloud computing resources are allocated to each item for concurrent data processing. The calculation results are cached on the cloud storage. After the user selects the post-processing result style to be viewed (stress diagram, strain diagram, displacement diagram, deformation diagram, contour diagram, isosurface diagram, vector diagram, and analysis report, etc.), the cloud computing server extracts the calculation results from the cloud storage for image rendering and sends the rendered image to the requesting user. The user client then displays the corresponding geometric model image. Figure 2 MPI, or Message Passing Interface, is a programming model and communication protocol for writing parallel computing programs. MPI provides a rich set of APIs (application programming interfaces) that make parallel data processing on multiple computers or multi-core processors more efficient and convenient.

[0075] Data classification and parallel processing process: The solution result data generated by the solver includes original data such as geometric model data, displacement results, stress results, and strain results. First, the original data will be classified and marked, and then the task system will pair them according to the result category, rendering algorithm, and data processing algorithm. The completed combination can be used as a subtask (post-processing task), and resources are requested from the cloud computing to start calculation and processing. After the processing is completed, the results will be stored in the cloud storage resources. Taking the displacement map as an example, the task system will obtain the model data and displacement data from the result data, and then match the displacement algorithm with the rendering algorithm, generate subtasks, apply for cloud computing resources, and finally calculate the displacement map (including deformation information) and store it in the cloud storage resources.

[0076] It is understandable that the cloud computing service solution for simulation analysis post-processing has significant advantages over traditional methods: it can dynamically allocate resources according to demand, achieve efficient resource utilization, and save hardware investment and maintenance costs. Parallel processing capabilities accelerate the post-processing process and significantly shorten the time from simulation to result analysis. Cloud services provide scalable storage and computing capabilities, improving data processing capabilities and flexibility. Users can access services from any location to improve work efficiency, while cloud service providers are responsible for software and hardware upgrades to reduce user burden. The cloud service approach also reduces physical hardware requirements, reduces environmental pollution, and adopts green energy and efficient data center design. In addition, cloud service providers can provide comprehensive data security measures, including data encryption and backup, to enhance data security and reliability. These advantages make the cloud computing service model a preferred solution for simulation analysis post-processing.

[0077] For example, Figure 3 Schematic diagram of a cloud computing post-processing example architecture provided by an embodiment of the present application, such as Figure 3 As shown, based on the post-processing service mode and protocol, HTTP is used as the communication protocol to cooperate with multiple modules of post-processing cloud computing and cloud storage to design and implement a cloud computing instance architecture for post-processing services.

[0078] Based on VTK, a module for building scientific visualization application services is provided. In the post-processing service, the graphics processing interface of the VTK module is encapsulated in a service-oriented manner according to the design of the above post-processing service solution, and the functions related to graphics display and manipulation in post-processing are realized, such as section display, threshold extraction, mirror setting, etc.

[0079] According to the actual post-processing service needs, visualization functions such as stress diagram, strain diagram, displacement diagram, deformation diagram, contour diagram, isosurface diagram, etc. are provided, and the graphical display information of the corresponding data results is responded to by the client. The relevant front-end request interface can be designed. The corresponding front-end HTTP interface request information is shown in Table 1.

[0080] Table 1 Post-processing graphical interface HTTP request information interface table

[0081] The engineering parameters in Table 1 are explained below.

[0082] Stress types: von Mises stress, maximum principal stress, shear stress, etc. Stress components: stress in the X, Y, Z directions. Stress options: maximum / minimum stress.

[0083] Strain type: normal strain, shear strain, etc. Strain components: strain in X, Y, Z directions. Strain options: maximum / minimum strain.

[0084] Displacement components: displacement in the X, Y, and Z directions.

[0085] Deformation ratio: used to control the degree of deformation amplification. Deformation options: actual deformation, comparative deformation (compared with the undeformed state).

[0086] Contour Variable: Select the variable to be displayed, such as stress, strain, temperature, etc. Contour Spacing: Define the interval between contour lines. Contour Range: Specify the display range of the variable value.

[0087] Isosurface Variable: Select the variable to display, such as stress, strain, temperature, etc. Isosurface Value: Define a specific value or range for the isosurface. Isosurface Transparency: Controls the transparency of the isosurface.

[0088] When the client selects the result graph scene to be displayed, it sends an HTTP request to the server through the communication protocol to obtain stress graphs, strain graphs, displacement graphs, etc. The message contains the corresponding graphic display parameter information.

[0089] Figure 4 is a schematic diagram of a stress diagram request processing flow provided in an embodiment of the present application, such as Figure 4 As shown in the figure, in the scenario corresponding to the stress graph request, the server receives the message and starts to execute the request to create the stress graph function. First, the engineering parameters in the protocol sent by the client are parsed, an object is created according to the parameters, and this object is set as the active instance. The stress data information of the post-processing result file is read, including node stress, unit stress or other related stress components. According to the request parameter requirements, select the stress type to be displayed, such as von Mises stress, maximum principal stress, shear stress, etc. Then call the VTK stress graph generation method to create stress graph image information for the active use case. Adjust the color mapping and scale of the stress graph to more clearly display the stress distribution and changes, and add necessary annotations and comments to the stress graph, such as maximum stress value, safety factor, etc. After the processing is completed, the image information result is sent back to the client, and the corresponding result can be directly displayed on the client.

[0090] The cloud computing-based chip simulation post-processing system provided in the present application is described below. The cloud computing-based chip simulation post-processing system described below and the cloud computing-based chip simulation post-processing method described above can refer to each other.

[0091] Figure 5 is a schematic diagram of the structure of a chip simulation post-processing system based on cloud computing provided in an embodiment of the present application, such as Figure 5 As shown, the system includes: a client 20 and a cloud computing platform 10 that applies the above-mentioned chip simulation post-processing method based on cloud computing, and the client 20 and the cloud computing platform 10 are communicatively connected.

[0092] In one possible implementation, the client is used to: send a post-processing service request to the cloud computing platform, where the post-processing service request is used to instruct the cloud computing platform to feedback the processing results of the post-processing task; and receive a feedback message sent by the cloud computing platform, where the feedback message carries the processing results of the post-processing task.

[0093] Accordingly, the cloud computing platform is used to: receive post-processing service requests sent by the client; respond to the post-processing service requests and obtain the processing results of the post-processing tasks; generate feedback messages and send them to the client, and the feedback messages carry the processing results of the post-processing tasks.

[0094] The method steps in the embodiments of the present application can be implemented by hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, mobile hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an ASIC.

[0095] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented by software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted through the computer-readable storage medium. The computer instructions may be transmitted from a website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)), etc.

[0096] It should be understood that the various numerical numbers involved in the embodiments of the present application are only used for the convenience of description and are not used to limit the scope of the embodiments of the present application.

[0097] It will be easily understood by those skilled in the art that the above description is only a preferred embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present application shall be included in the scope of protection of the present application.

Claims

1. A chip simulation post-processing method based on cloud computing, characterized in that: Applied to a cloud computing platform, the method includes: Evaluate the computing and storage resources required for each post-processing task, which is the task of visualizing data based on the geometry of the simulation object and the solver's solution results; Based on the computing resources and storage resources required by each post-processing task, computing resources and storage resources are allocated to each post-processing task, where computing resources are used to provide computing power for the corresponding post-processing task, and storage resources are used to provide storage space for the corresponding processing task; Each post-processing task is executed in a parallel processing manner, and the processing results of each post-processing task are stored.

2. The chip simulation post-processing method based on cloud computing according to claim 1, characterized in that: The computing resources and storage resources required for evaluating each post-processing task include: Based on the input data and processing algorithm corresponding to the post-processing task, determine the computing resources required for the post-processing task by evaluating the computational complexity; Based on the amount of input data and processing results corresponding to the post-processing task, the storage resources required for the post-processing task are determined.

3. The chip simulation post-processing method based on cloud computing according to claim 1, characterized in that: The execution of various post-processing tasks includes: Based on the input data of the post-processing task, the processing result is generated by calling the processing algorithm corresponding to the post-processing task.

4. The chip simulation post-processing method based on cloud computing according to any one of claims 1 to 3, characterized in that: A post-processing task is any one of the following tasks: a task for generating a stress graph, a task for generating a strain graph, a task for generating a displacement graph, a task for generating a deformation graph, a task for generating a contour graph, a task for generating an isosurface graph, and a task for generating an analysis report.

5. The chip simulation post-processing method based on cloud computing according to claim 4 is characterized in that: Also includes: Receive a post-processing service request sent by a client, where the post-processing service request is used to instruct the cloud computing platform to feedback the processing result of the post-processing task; Respond to post-processing service requests and obtain the processing results of post-processing tasks; Generate a feedback message and send it to the client, the feedback message carries the processing result of the post-processing task.

6. The chip simulation post-processing method based on cloud computing according to claim 5, characterized in that: The post-processing service request carries the engineering parameters of the post-processing task, and the engineering parameters are used to indicate the data content items of the processing result; The responding to the post-processing service request and obtaining the processing result of the post-processing task includes: Comparing the engineering parameters of the processing results stored in the cloud computing platform with the engineering parameters carried by the post-processing service request; If the engineering parameters of the processing results stored in the cloud computing platform do not match the engineering parameters carried by the post-processing service request, the corresponding post-processing task is re-executed based on the engineering parameters carried by the post-processing service request to obtain the processing results of the post-processing task; If the engineering parameters of the processing results stored in the cloud computing platform match the engineering parameters carried by the post-processing service request, the processing results stored in the cloud computing platform are extracted.

7. The chip simulation post-processing method based on cloud computing according to claim 5, characterized in that: The post-processing service request carries identification information of one or more post-processing tasks, and the identification information is used to instruct the cloud computing platform to feed back processing results of the corresponding post-processing tasks.

8. A chip simulation post-processing system based on cloud computing, characterized in that: include: A client and a cloud computing platform that applies the chip simulation post-processing method based on cloud computing as described in any one of claims 1-7, and the client and the cloud computing platform are communicatively connected.

9. The chip simulation post-processing system based on cloud computing according to claim 8, characterized in that: The client is used to: Sending a post-processing service request to the cloud computing platform, the post-processing service request is used to instruct the cloud computing platform to feedback the processing result of the post-processing task; Receive a feedback message sent by the cloud computing platform, which carries the processing result of the post-processing task.

10. The chip simulation post-processing system based on cloud computing according to claim 9, characterized in that: The cloud computing platform is used for: Receive post-processing service requests sent by the client; Respond to post-processing service requests and obtain post-processing results of post-processing tasks; Generate a feedback message and send it to the client, the feedback message carries the processing result of the post-processing task.

Citation Information

Patent Citations

  • Analog simulation calculation method based on multiple modules

    CN119127483A